关于ListView控件的ColumnWidthChanging事件
private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
{
switch (treeListView1.Columns[e.ColumnIndex].Name)
{
case "name":
e.Cancel = true;
e.NewWidth = treeListView1.Columns[e.ColumnIndex].Width; //设置固定不变值
}
}
假设listView1中有一列Name叫"name"的ColumnHeader(标题列)。
以前在ColumnWidthChanging事件(拖动时发生)中实现一些类似上面的功能时,都是拖到列的时候即响应。可是最近使用相同的代码,在拖动时却无法响应。
反而是双击列的分隔符时才响应。
比如有一个下拉框在某列的上端,左边距都一样,即:位置是对齐的。那么如果拖动列,下拉框控件的位置会随着拖动列的位置移动。以前就是在ColumnWidthChanging事件中实现的。
如何响应拖动ListView中的列过程中的事件呢?
------解决方案--------------------实验了一下果然没效果。。
------解决方案--------------------你的区分 ColumnWidthChanged ColumnWidthChanging 两个事件
ColumnWidthChanged 是你要的事件
------解决方案--------------------
ColumnWidthChanged可以用这一个。但得先判断一下它是否是你的初始宽度。
因为它在初始化时就会触发这个事件