以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助ListView里的自动适应问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189619) |
-- 作者:dhyskyworld -- 发布时间:2023/12/12 11:55:00 -- 求助ListView里的自动适应问题 看到ListView实列里有这么一句代码:lvw.Columns("国家").AutoResize,但是如果有多列,要怎么改这句代码,让所有的列自适应,帮助都看过了,没找到,也试了很多种方法都没有成功,求老师指教 |
-- 作者:有点蓝 -- 发布时间:2023/12/12 12:00:00 -- 逐一设置,比如 lvw.Columns("列一").AutoResize lvw.Columns("列二").AutoResize 或者 for each c as string in {"列一","列二"} lvw.Columns(c).AutoResize next
|
-- 作者:dhyskyworld -- 发布时间:2023/12/12 12:18:00 -- 第二种方法想是想到了,但是如果遇到十几、二十几、甚至更多的时候,这个代码也是挺长的,也说明了Columns()里必须要指定列名。不知道Columns()是否可以改一下功能,在不输入列名的情况下则表示所有列都算上,这样代码更简洁一些 |
-- 作者:cd_tdh -- 发布时间:2023/12/12 12:42:00 -- 循环所有列啊 |
-- 作者:有点蓝 -- 发布时间:2023/12/12 13:50:00 -- 改不了,这个控件是.net自带的。 如果不是只设置其中的几个列,而是所有列都这样,遍历所有列即可 Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") For Each c As WinForm.ListViewColumn In lvw.Columns c.AutoResize Next |
-- 作者:dhyskyworld -- 发布时间:2023/12/12 13:56:00 -- 晕,我咋就没转过弯来 |