我正在编写一个简单的代码,它有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();
}
}
}
答案 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;
}
通常情况下,我会通过设计师这样做。依次选择每个按钮,然后打开属性面板并双击要订阅的事件,这将为您在代码隐藏中创建相应的事件方法。
答案 1 :(得分:0)
查看.Designer.cs文件并确保您的按钮添加了正确的委托方法。在你的情况下,它应该exitButton_Click。
有时,当您更改按钮的名称时,VS设计器不会在.Designer文件中正确更改名称。非常罕见,但它确实发生了。