我在Visual Studio 2017中使用Windows窗体在C#中编写了一个程序。它在splitContainer中显示一个treeView,显示左侧面板上带有子目录的目录,以及一个listView,显示右侧所选目录中的文件。我创建了一个按钮(deleteFiles),我最初将Enabled属性设置为False。我希望它不会启用,直到用户从listView中选择文件,然后重置为未启用,直到选择下一个文件。这是我的代码:
<div id="list"></div
当我运行程序时,按钮在我选择文件后启用,但即使没有选择文件,它也会在之后保持启用状态。在选择下一个文件之前,如何将按钮重置为未启用状态。
答案 0 :(得分:1)
查看Order of Events in Windows Forms
对于Windows窗体,我建议在窗体加载事件中设置控件。将按钮enable设置为false将在用户看到表单之前禁用该按钮:
private void Form1_Load(object sender, System.EventArgs e)
{
bntDeleteFile.Enabled = false;
}
您是否还有一个按钮点击事件,在点击事件期间禁用该按钮?单击按钮时将按钮设置为false将在删除文件时将其禁用。
private void Button_Click(object sender, EventArgs e)
{
bntDeleteFile.Enabled = false;
}
你的&#34; listView1_SelectedIndexChanged&#34;当您选择其他文件时,事件将启用该按钮。
答案 1 :(得分:0)
选择树视图项时,可以将按钮设置为禁用:
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
bntDeleteFile.Enabled = false;
}
答案 2 :(得分:0)
假设当选择另一个目录时,您正在运行listView1.Items.Clear()(或清除绑定的DataSource),您可能希望在清除项目之前运行它:
listView1.SelectedItems.Clear();
这应该清除所选项目,这将触发你想要的事件。