我正在使用C#.NET构建WinForms应用程序
WinForms应用程序有一个ComboBox,DropDownStyle设置为DropDownList。启动App时,我读取了一个XML文件来填充ComboBox的值。而且,此时,默认情况下,ComboBox中未选择任何内容。因此,禁用“更改”和“删除”按钮。
现在,当用户选择一个值时,我希望启用“更改”和“删除”按钮。到目前为止,我已经完成了(虽然,我不确定我是否以正确的方式完成了它)。
我已经在SelectionChangeCommitted事件中编写了代码。
private void cbList_SelectionChangeCommitted(object sender, EventArgs e)
{
if (cbList.SelectedItem != null)
{
this.btnModify.Enabled = true;
this.btnRemove.Enabled = true;
}
else
{
this.btnModify.Enabled = false;
this.btnRemove.Enabled = false;
}
}
现在,当我选择一个值时...按钮被启用(如预期的那样)。然后用户单击“删除”按钮,我们删除所选值。现在,cbList中没有选择任何内容,但仍然启用了按钮?
我检查是否选择了值然后启用/禁用按钮的功能/事件是什么。
答案 0 :(得分:1)
目前,没有Visual Studio,所以我不记得我们有哪些事件。但你可以做到这一点,
private void CheckButtons()
{
if (cbList.SelectedItem != null)
{
this.btnModify.Enabled = true;
this.btnRemove.Enabled = true;
}
else
{
this.btnModify.Enabled = false;
this.btnRemove.Enabled = false;
}
}
并在事件中使用您的func
private void cbList_SelectionChangeCommitted(object sender, EventArgs e)
{
CheckButtons();
}
如你所说,删除后,按钮仍然可见,所以你可以在删除功能之后放置CheckButtons()函数,如
DeleteX();
CheckButtons();