当前位置: 首页 > news >正文

[ListView.View=List]的垂直滚动条

该问题来自论坛提问,当ListView.View=List时,滚动条只能是水平的,解决这个问题需要子类化ListView处理WndProc消息,通过Windows API函数来设置它的滚动条。

演示代码:

using System; using System.Drawing; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { /// <summary> /// 子类化ListView,在View属性是List的时候出垂直滚动条 /// by jinjazz /// http://blog.csdn.net/jinjazz /// </summary> public class ListViewEx : ListView { [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern int ShowScrollBar(IntPtr hWnd, int iBar, int bShow); const int SB_HORZ = 0; const int SB_VERT = 1; protected override void WndProc(ref Message m) { if (this.View == View.List) { ShowScrollBar(this.Handle, SB_VERT, 1); ShowScrollBar(this.Handle, SB_HORZ, 0); } base.WndProc(ref m); } } /// <summary> /// 测试代码 /// </summary> public Form1() { InitializeComponent(); //测试普通listview ListView list = new ListView(); list.View = View.List; this.Controls.Add(list); list.Size = new Size(100, 100); list.Location = new Point(100, 100); for (int i = 0; i < 100; i++) { list.Items.Add(new ListViewItem(Guid.NewGuid().ToString())); } //测试子类化的listview list = new ListViewEx(); list.View = View.List; this.Controls.Add(list); list.Size = new Size(100, 100); list.Location = new Point(300, 100); for (int i = 0; i < 100; i++) { list.Items.Add(new ListViewItem(Guid.NewGuid().ToString())); } } } }

相关文章:

  • C# html编码和文本的转换
  • 服务质量:电信无法回避的短板
  • C# 使用.NET性能计数器示例 绘制出正弦函数图像
  • 软件开发者面试百问
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • 情人节的礼物——书写是为了更好地思考——回应未鹏
  • Fiddler 发请求时 设置 cookie
  • Xml CData的使用 获取原始的节点内容
  • Nebula3中的Message
  • HttpHandler 异步监听请求
  • 互联网进军影视作品的软广告
  • JS 动态增加DIV 的大小
  • 在UltraWebGrid中验证填入数据
  • HTML5 拖拽图片到网页内
  • HTML5批量拖拽图片到网页
  • [译] 怎样写一个基础的编译器
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • avalon2.2的VM生成过程
  • E-HPC支持多队列管理和自动伸缩
  • JavaScript中的对象个人分享
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 以太坊客户端Geth命令参数详解
  • 用quicker-worker.js轻松跑一个大数据遍历
  • ​iOS实时查看App运行日志
  • ​批处理文件中的errorlevel用法
  • #{}和${}的区别是什么 -- java面试
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三)c52学习之旅-点亮LED灯
  • (十六)Flask之蓝图
  • (未解决)macOS matplotlib 中文是方框
  • (五)关系数据库标准语言SQL
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core Web APi类库如何内嵌运行?
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET中的十进制浮点类型,徐汇区网站设计
  • .net中生成excel后调整宽度
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @RequestMapping处理请求异常
  • [.net] 如何在mail的加入正文显示图片
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [20150321]索引空块的问题.txt
  • [Android]使用Retrofit进行网络请求
  • [BUUCTF 2018]Online Tool
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [COGS 622] [NOIP2011] 玛雅游戏 模拟
  • [hdu 4405] Aeroplane chess [概率DP 期望]