1个回答
2013-05-22
展开全部
可以用代码实现。简单的做了个小例子,列的界面:4个列。代码如下:public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//ht用于储存每个列的宽度
System.Collections.Hashtable ht = new System.Collections.Hashtable();
bool bl;//因为listView1_ColumnWidthChanged事件比载入事件先执行,就会报错,
//所以用了个bl来验证已经载入完毕了才能进入listview的事件
private void Form1_Load(object sender, EventArgs e)
{
listView1.Items.Add(new ListViewItem(new string[4] { "1", "2", "3", "4" }));
listView1.Items.Add(new ListViewItem(new string[4] { "1", "2", "3", "4" }));
//通过遍历把每列的宽度存到ht(键值)中,
for (int i = 0; i < listView1.Columns.Count; i++)
{
ht.Add(i, listView1.Columns[i].Width);
}
bl = true;
}
private void listView1_ColumnWidthChanged(object sender, ColumnWidthChangedEventArgs e)
{
if (bl)
//要改变当前列宽度的时候就恢复到原始的宽度
this.listView1.Columns[e.ColumnIndex].Width = int.Parse(ht[e.ColumnIndex].ToString());
}
}我看没人回答你问题,所以就来了
{
public Form1()
{
InitializeComponent();
}
//ht用于储存每个列的宽度
System.Collections.Hashtable ht = new System.Collections.Hashtable();
bool bl;//因为listView1_ColumnWidthChanged事件比载入事件先执行,就会报错,
//所以用了个bl来验证已经载入完毕了才能进入listview的事件
private void Form1_Load(object sender, EventArgs e)
{
listView1.Items.Add(new ListViewItem(new string[4] { "1", "2", "3", "4" }));
listView1.Items.Add(new ListViewItem(new string[4] { "1", "2", "3", "4" }));
//通过遍历把每列的宽度存到ht(键值)中,
for (int i = 0; i < listView1.Columns.Count; i++)
{
ht.Add(i, listView1.Columns[i].Width);
}
bl = true;
}
private void listView1_ColumnWidthChanged(object sender, ColumnWidthChangedEventArgs e)
{
if (bl)
//要改变当前列宽度的时候就恢复到原始的宽度
this.listView1.Columns[e.ColumnIndex].Width = int.Parse(ht[e.ColumnIndex].ToString());
}
}我看没人回答你问题,所以就来了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询