C#中的按钮不触发

button in c# not firing

我正在编写一个简单的代码,它有 3 个按钮 2,需要打开其他表单,需要一个按钮关闭程序。当我启动程序时,退出按钮将不起作用,即使我将它编码为与我编写程序的任何其他时间相同。

当我按下任何按钮时,没有任何反应。我不是 100% 确定如何使用按钮打开另一个表单,但我知道退出按钮应该按原样工作。

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _3343_ParksJ_Lab02
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void workerButton_Click(object sender, EventArgs e)
        {
            WorkerForm workersForum = new WorkerForm();
        }

        private void suppervisorButton_Click(object sender, EventArgs e)
        {
            SupervisorForm workersForum = new SupervisorForm();
        }

        private void exitButton_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}

您必须将按钮的点击事件订阅到事件方法,它们才能正确触发。

您可以检查 Designer.cs 文件以查看是否已经完成此操作,但我猜它还没有。您将寻找这样的东西:

this.workerButton.Click += new System.EventHandler(this.workerButton_Click);

一种方法是直接在构造函数中:

public MainForm()
{
    InitializeComponent();

    workerButton.Click += workerButton_Click;
    suppervisorButton.Click += suppervisorButton_Click;
    exitButton.Click += exitButton_Click;
}

通常,我会通过设计器完成此操作。 Select依次打开每个Button,然后打开属性面板,双击你要订阅的事件,会在后台代码中为你创建对应的事件方法。

查看 .Designer.cs 文件并确保您的按钮添加了正确的委托方法。在你的情况下它应该 exitButton_Click.

有时,当您更改按钮的名称时,VS 设计器不会在 .Designer 文件中正确更改名称。非常罕见,但它确实发生了。