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中的列过程中的事件呢?
{
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 是你要的事件
因为它在初始化时就会触发这个事件
ColumnWidthChanged是拖动结束后响应的事件,而且向楼上说的,初始化的时候就会触发。我想要的是拖动时就响应的,就是拖动列的时候响应。像我说的类似下拉框位置随着列的宽度移动,是动态的。而不是拖动结束后下拉框的位置才移动。