从listView中选择文件后重置启用的按钮

时间:2018-02-14 17:27:53

标签: c# winforms

我在Visual Studio 2017中使用Windows窗体在C#中编写了一个程序。它在splitContainer中显示一个treeView,显示左侧面板上带有子目录的目录,以及一个listView,显示右侧所选目录中的文件。我创建了一个按钮(deleteFiles),我最初将Enabled属性设置为False。我希望它不会启用,直到用户从listView中选择文件,然后重置为未启用,直到选择下一个文件。这是我的代码:

<div id="list"></div

当我运行程序时,按钮在我选择文件后启用,但即使没有选择文件,它也会在之后保持启用状态。在选择下一个文件之前,如何将按钮重置为未启用状态。

3 个答案:

答案 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();

这应该清除所选项目,这将触发你想要的事件。