C#中listView列自动适应缩放的完美效果
在网上搜了很多办法,包括width=-1、-2,效果都不理想。自己摸索了个办法:
1:设计时,先把各列尺寸大体上调好;
2:启动时记下来各列width所占的比例。
public class colSizes : List<double> { }; public colSizes[] grdSizes = new colSizes[3]; public DateTime dBegin = DateTime.Today;//// loadSizes(grd_ing, ref grdSizes[0]); loadSizes(grd_hege, ref grdSizes[1]); loadSizes(grd_buhege, ref grdSizes[2]);///private void loadSizes(ListView grd, ref colSizes cs){ //记住比例if (cs == null) cs = new colSizes();cs.Clear();double nAll = 0;foreach (ColumnHeader itm in grd.Columns) nAll += itm.Width;foreach (ColumnHeader itm in grd.Columns) cs.Add(itm.Width / nAll);}
3:resize时按比例重新设置一遍各列的width.
private void setAutoSize(ListView grd, colSizes cs){ //自动适应宽度,-1根据内容设置宽度,-2根据标题设置宽度if (cs == null) return;for (int i = 0; i < Math.Min(cs.Count, grd.Columns.Count); i++)grd.Columns[i].Width = (int)Math.Round(grd.ClientSize.Width * cs[i], 0);}private void FrmView_Resize(object sender, EventArgs e){setAutoSize(grd_ing, grdSizes[0]);setAutoSize(grd_hege, grdSizes[1]);setAutoSize(grd_buhege, grdSizes[2]);}
效果相当完美,按比例缩放
转载于:https://www.cnblogs.com/HaiHong/p/11106206.html
C#中listView列自动适应缩放的完美效果相关推荐
- 如何:从 Windows 窗体 DataGridView 控件中移除自动生成的列
如果将 DataGridView 控件设置为根据其数据源中的数据自动生成列,则可以选择忽略某些列.可以通过调用 Columns 集合的 Remove 方法进行此操作.或者,也可通过将 Visible ...
- adf4351_在ADF实体PK属性中使用MySQL自动增量PK列
adf4351 大家好. 继续进行ADF + MySQL解决方法系列,今天我们将看到需要做些什么才能将MySQL PK自动增量列与ADF实体PK属性一起使用. 如果我们使用的是Oracle数据库,则可 ...
- adf 自动输稿器_在ADF实体PK属性中使用MySQL自动增量PK列
adf 自动输稿器 大家好. 继续进行ADF + MySQL解决方法系列,今天我们将看到需要做些什么才能将MySQL PK自动增量列与ADF实体PK属性一起使用. 如果使用的是Oracle数据库,则可 ...
- 在ADF实体PK属性中使用MySQL自动增量PK列
大家好. 继续进行ADF + MySQL解决方法系列,今天我们将看到要使用MySQL PK自动增量列和ADF实体PK属性来进行的工作. 如果使用的是Oracle数据库,则可以使用oracle.jbo. ...
- android listview 列宽度,WPF中用ListView时使GridView中的每列宽度按比例变化并使内容自适应单元宽度...
在使用ListView的时候,GridView中的每列宽度默认是没法按比例变化的,我们可以使用一个跟它同大小的Grid,给Grid设置相同数量的列,设置好每列的宽度,然后将其宽度绑定到GridView ...
- wpf的listview编辑指定列_将项目添加到WPF ListView中的列
小编典典 更少的XAML和更多的C#解决方案 如果您ListView在XAML中定义: 然后,您可以添加列并在C#中填充它: public Window() { // Initialize this. ...
- mysql中递增列_如何使用JDBC在MySQL中创建带有自动递增列的表?
在创建表时,在某些情况下,我们需要自动生成/增加列的值(例如ID).各种数据库以不同的方式支持此功能. 在MySQL数据库中,您可以使用以下语法声明列自动递增.CREATE TABLE table_n ...
- C#中ListView详解
ListView是一个Windows 列表视图控件,该控件显示可用五种不同视图(LargeIcon,Details,SmallIcon,List,Tile)之一显示项的集合. 对于这四种视图,官方文档 ...
- EXCEL中数据的自动匹配主要包含的内容
EXCEL中数据的自动匹配主要包含的内容: EXCEL中无法直接使用SELECT语句进行数据查询.定位.匹配,必须依赖其自身提供的函数.本文将介绍三种EXCEL中的数据自动匹配方法,使单元格内容能够自 ...
最新文章
- .net实现跨页面传值
- 苹果正式推iOS 4.2可使iPad支持多任务
- 深入super,看Python如何解决钻石继承难题
- 棱镜调查:提高渠道兼容性从游戏设计开始
- DOCKER OVERLAY2占用大量磁盘空间解决办法
- 一条nginx命令引发的对于容器的思考
- 网鼎杯2020php反序列化,2020-网鼎杯(青龙组)_Web题目 AreUserialz Writeup
- List集合的去重问题
- SQL Server和Oracle的差异
- mysql基础知识复习
- ARM 指令集版本和ARM 版本
- 如何做 ASO 优化?
- linux大容量硬盘 克隆到小硬盘_clonezilla 不管用了,手动把 GPT 分区的 ubuntu14.04 从大硬盘克隆到小硬盘...
- 模拟实现memcmp
- 【已解决】打开游戏或者游戏引擎耳机出现滋滋滋的电流声
- iCollections for Mac(桌面文件整理软件)
- 推荐 | 一些奇特的人工智能App
- 为2017年出生的孩子免费取名字,孩子起名要注意的问题
- 架构活动中风险敞口的预估
- google引擎地址
热门文章
- 小米小爱蓝牙音箱_小米小爱蓝牙音箱——值否?
- dhrystone测试结果_RTThread软件包可以对MCU进行性能测试,跑一个试试!
- 什么是多任务、进程、线程
- iOS Hacker 重签名实现无需越狱注入动态库 dylib
- CFtpFileFind FindFile卡住的问题
- 人工智能的突破需要颠覆图灵机吗?
- ros_openvino_toolkit环境搭建纪实
- GCC __builtin_expect与kernel指令序列优化
- 数组——两个有序数组的合并
- 结构分析的计算机方法有哪些,第6篇 桥梁结构分析计算机方法.ppt