我在列表框中遇到了UI问题。问题非常不一致有时它出现在第一个按钮,有时它发生在很多次点击之后或当我使用列表框的滚动条时。我不明白它是如何以及从哪里来的。
我很遗憾地说我无法定义问题,但我附上了这个问题的图片来说明我的问题:
我已经完成了一些选择所有项目的代码,并在按钮点击时取消选择所有项目。代码如下:
private void btnSelectAll_Click(object sender, EventArgs e)
{
lstSelectRows.SelectionMode = SelectionMode.MultiSimple;
for (int i = 0; i < lstSelectRows.Items.Count; i++)
{
lstSelectRows.SetSelected(i, true);
}
}
private void btnSelectNone_Click(object sender, EventArgs e)
{
this.lstSelectRows.SelectedIndex = -1;
}
答案 0 :(得分:1)
为避免出现这样的视觉故障,请确保在更新项目时暂停绘图。
在更新项目之前,只需致电ListBox.BeginUpdate()
,然后在完成后致电ListBox.EndUpdate()
。
private void btnSelectAll_Click(object sender, EventArgs e)
{
lstSelectRows.BeginUpdate();
lstSelectRows.SelectionMode = SelectionMode.MultiSimple;
for (int i = 0; i < lstSelectRows.Items.Count; i++)
{
lstSelectRows.SetSelected(i, true);
}
lstSelectRows.EndUpdate();
}
private void btnSelectNone_Click(object sender, EventArgs e)
{
lstSelectRows.BeginUpdate();
this.lstSelectRows.SelectedIndex = -1;
lstSelectRows.EndUpdate();
}