我以前做过这个,我有办法做,但我想确保它是最好的方法。我在详细信息视图中有一个ListView。我也有一个按钮。如果选择了某个项目,我只希望启用该按钮(禁用多选)。项目将被添加到此列表视图中,但是只要有选定项目,就应该启用该按钮,否则禁用该按钮。
我的事件处理程序:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
button1.Enabled = true;
else
button1.Enabled = false;
}
这就是我所拥有的,只是想知道这是否会一直有效或是否有失败的怪异事件?就像我删除或添加内容或其他内容一样?
答案 0 :(得分:3)
如果你展示你拥有的东西会更好 - 但简而言之,你可以从禁用的按钮开始,并且在列表视图中,如果列表视图的selectedItems.Count为1,则selectIndexChanged事件启用按钮。禁用它如果没有选择任何项目。这是一个可能有用的链接: ListView selectedindexchanged
答案 1 :(得分:2)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 9; i++)
{
listView1.Items.Add("kashif");
}
button1.Enabled = false;
}
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
button1.Enabled = listView1.SelectedItems.Count > 0;
}
private void button2_Click(object sender, EventArgs e)
{
foreach (ListViewItem v in listView1.SelectedItems)
{
v.Remove();
}
}
}
在Button2之前点击
点击Button2后