我尝试了这个,但它不起作用。即使我选择东西,它们仍然是灰色的。
btnVoirFiche.Enabled = false;
btnEchangerJoueur.Enabled = false;
if (lstJoueurs.SelectedIndex != -1)
{
btnVoirFiche.Enabled = true;
btnEchangerJoueur.Enabled = true;
}
else
{
}
答案 0 :(得分:3)
您需要处理ListBox.SelectedIndexChanged事件,并且在您的处理程序中,您将检查特定值是否为选定值,然后相应地设置按钮的启用属性。
这样的事情:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(listBox1.SelectedIndex != -1)
{
btnVoirFiche.Enabled = true;
btnEchangerJoueur.Enabled = true;
}
else
{
//whatever you need to test for
}
}
干杯
编辑:我不太清楚按钮启用属性的逻辑是什么,所以我的答案非常通用。如果您向问题添加详细信息,我会相应调整。答案 1 :(得分:1)
挂钩到SelectedIndexChanged事件并将你的代码放在其中
private void lstJoueurs_SelectedIndexChanged(object sender, EventArgs e)
{
if (lstJoueurs.SelectedIndex != -1)
{
btnVoirFiche.Enabled = true;
btnEchangerJoueur.Enabled = true;
}
}
答案 2 :(得分:0)
作为替代方案,并使用mrlucmorin的答案,您可以使用列表框的SelectedItem
,如果未选择任何内容,则会返回null
。