gpt4 book ai didi

C# ListView - 检测用户何时取消选择项目或选择新项目

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:02 25 4
gpt4 key购买 nike

我试图检测用户何时在 ListView 中选择一个新项目以及何时取消选择所有内容(通过单击 ListView 上的空白区域),但我很难做到正确。我需要它来启用或禁用几个“向上移动项目”和“向下移动项目”按钮。我认为最好的方法是处理 ItemSelectionChanged 事件,所以我有这个,这看起来很明显:

private void lstItems_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) {
if (e.IsSelected) {
cmbMoveUp.Enabled = true;
cmbMoveDn.Enabled = true;
} else {
cmbMoveUp.Enabled = false;
cmbMoveDn.Enabled = false;
}
}

当用户取消选择所有内容时它工作正常,但问题是当用户选择另一个项目时会触发此事件两次:一次用于取消选择当前项目,另一次用于选择新项目。这会导致“移动项目向上”和“向下移动”按钮上的一些闪烁,因为它将首先禁用按钮(因为当前项目是取消选择的),然后再次启用它们(选择新项目时)。

有人知道我该如何解决这个问题吗?我已经没有想法了。

提前致谢。

最佳答案

您是否尝试过使用 lstItems_SelectedIndexChanged 而不是 lstItems_ItemSelectionChanged?我相信那只会触发这 1 次。希望对您有所帮助!

关于C# ListView - 检测用户何时取消选择项目或选择新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com