c#中的按钮没有触发

时间:2015-02-18 02:05:41

标签: c# button

我正在编写一个简单的代码,它有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();
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您必须订阅按钮'在事件方法正确触发之前单击事件到事件方法。

您可以查看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;
}

通常情况下,我会通过设计师这样做。依次选择每个按钮,然后打开属性面板并双击要订阅的事件,这将为您在代码隐藏中创建相应的事件方法。

enter image description here

答案 1 :(得分:0)

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

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