ToolStripMenuItem 单击事件不起作用

ToolStripMenuItem click event not working

我正在尝试通过按“打开”按钮 (ToolStripMenuItem) 打开文件对话框 window,但由于某种原因无法正常工作(没有错误,只是无法正常工作)。

如果我在方法中编写完全相同的代码,它就会工作:

toolStripDropDownButton1_Click(object sender, EventArgs e) {...}

但它不适用于菜单项的方法。有什么想法吗?

    private void openFileToolStripMenuItem_Click(Object sender, EventArgs e)
    {
            OpenFileDialog openFileDialog1 = new OpenFileDialog
            {
                InitialDirectory = @"C:\",
                Title = "Find the .assets file to backup",

                CheckFileExists = true,
                CheckPathExists = true,

                DefaultExt = ".assets",
                Filter = "assets files (*.assets)|*.assets",
                FilterIndex = 2,
                RestoreDirectory = true,

                ReadOnlyChecked = true,
                ShowReadOnly = true
            };

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox2.Visible = true;
                textBox2.Text = openFileDialog1.FileName;
            }
    }

example of my program

  • 单击您的 ToolStripMenuItem(在本例中,我想它的名称是:“openFileToolStripMenuItem”);
  • 转到属性(Right-click 在项目 > 属性上或按 F4 键);
  • 点击“活动”;
  • 查找“点击”条目并在右栏中键入:openFileToolStripMenuItem_Click(这是您的事件处理程序名称)。

您的问题是您的组件未与您正在编码的 EventHandler 相关联。

要避免任何类型的事件出现此类问题,请在属性中添加您的 EventHandler 方法名称,就像我上面向您解释的那样。


警告: 在关联 EventHandler 方法后,将其从 .cs 文件中删除而不从属性或 Designer.cs 文件中删除,将导致CS1061 编译错误。在这种情况下,只需删除 VS 将标记为错误的行。

例如:

双击它并删除突出显示的行: