我在WinForms表单中有一个listview,它可以包含0到100个项目,以及一个与列表视图当前所选项目交互的组框。我想在列表视图中没有选择任何项目时将groupbox的enabled属性设置为false(例如,如果没有项目或用户单击列表视图中的可用空间,则取消选择当前项目)。我知道我可以使用计时器检查所选项目数的计数,但我想使用一个事件。 listview的SelectedIndexChanged事件对我不起作用。当没有选择项目时,我只需要一个事件。
感谢您的帮助。
这是我的SelectedIndexChanged方法(显然不起作用):
if (lstPINs.SelectedItems.Count == 0)
MessageBox.Show("Test"); // I'd disable the groupbox and return here, but this dosn't work!
int index = PINMGR.GetIndex(lstPINs.SelectedItems[0].Text);
string pin = PINMGR.GetPIN(index);
txtEditPIN1.Text = pin.Substring(0, 4);
txtEditPIN2.Text = pin.Substring(5, 4);
txtEditPIN3.Text = pin.Substring(10, 4);
txtEditPIN4.Text = pin.Substring(15, 4);
int balance = PINMGR.GetBalance(index);
// Unimportant math stuff
编辑:HideSelection属性设置为false,因此即使列表不再具有焦点,项目仍将保持选中状态。这没问题。