基本上,我有一个项目列表视图。选择其中一个后,右侧会出现一个文本框,显示该项目的更多详细信息(抓取项目数据需要一点时间)。我想要的行为是在取消选择所有项目时隐藏右侧的此文本框。
private void listView1_SelectedIndexChanged(object sender, EventArgs e) {
// should only be 1 item selected, it's not a multi-select listview
ListView.SelectedListViewItemCollection collection = this.listView1.SelectedItems;
if (collection.Count == 0) {
this.label2.Visible = false;
}
foreach (ListViewItem item in collection) {
this.label2.Visible = true;
getSideInformation(item.Text);
}
}
Run Code Online (Sandbox Code Playgroud)
当我只是选择另一个项目时,我注意到盒子闪烁。我通过将代码更改为进行了一些挖掘:
private void listView1_SelectedIndexChanged(object sender, EventArgs e) {
// should only be 1 item selected, it's not a multi-select listview
ListView.SelectedListViewItemCollection collection = this.listView1.SelectedItems;
if (collection.Count == 0) {
this.label2.Text = "Unselected all!"
}
foreach …Run Code Online (Sandbox Code Playgroud) 可能重复:
编码标准/编码C++中的最佳实践
我没有使用Do-While循环很多,但我发现自己在一个特定类别的情况下使用它做了一些逻辑,在那里我想要查看与多个退出点有关的事项列表但只能通过它一次.我总是对条件有"while(TRUE)"和"if(TRUE)break".在循环的最后,因为我只想通过它一次.[我猜或者我可以将这些2合并为"while(FALSE)."]
Do {
// do some stuff
if (!CheckCondition1) break;
// do some stuff
if (!CheckCondition2) break;
// do some stuff
...
// or delete this and change to while (FALSE);
if (TRUE) break;
} while (TRUE);
Run Code Online (Sandbox Code Playgroud)
我一直在这些情况下使用Do-While结构,但我不确定它是否是一种"可接受"的方式来使用它或者是否有更好的方法.谢谢.