C# 如何在C中处理program.cs中的按钮单击事件#
我有两个表格,即表格A和表格B。如果只单击表格A的按钮X,则表格B将显示,表格A将隐藏。我必须在windows窗体应用程序的program.cs中执行所有这些操作 这是截取的代码C# 如何在C中处理program.cs中的按钮单击事件#,c#,windows,desktop-application,buttonclick,mouseclick-event,C#,Windows,Desktop Application,Buttonclick,Mouseclick Event,我有两个表格,即表格A和表格B。如果只单击表格A的按钮X,则表格B将显示,表格A将隐藏。我必须在windows窗体应用程序的program.cs中执行所有这些操作 这是截取的代码 FormA A = new FormA (); FormB B = new FormB (); A.Show(); if(Button in form A is clicked th
FormA A = new FormA ();
FormB B = new FormB ();
A.Show();
if(Button in form A is clicked then )
B.Show() and A.hide();
else
application.close()
首先需要使按钮在表单类外部可见。
这是通过将WinForms Designer中的修饰符属性设置为public完成的,或者,如果以编程方式创建按钮,则需要在表单级别声明变量public 现在,使用public按钮,您可以为其click事件编写事件处理程序,并将该处理程序写入Program.cs类中。
这还要求FormA和FormB变量在按钮的事件处理程序中可用,因此还需要将它们公开
public static class Program
{
static FormA A;
static FormB B;
public static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
A = new FormA();
B = new FormB();
A.Button1.Click += onClick;
// This should show the A instance
Application.Run(A);
....
}
public static void onClick(oject sender, EventArgs)
{
A.Hide();
B.Show();
}
}
您能详细介绍一下您使用此代码的地方吗?它在主功能中吗?是的,正是Steve。它位于私有静态void Main(){………}块中。谢谢您的回答。当它工作时,我会立即将其标记为正确:)Steve,你确定我们可以像你在回答中那样访问静态类事件吗?抱歉,手写,忘记将静态添加到事件句柄谢谢你是天才,但有一件事,除了应用程序之外还有其他方法吗。运行FormA。这只是因为我必须使用应用程序一次又一次地运行来启动内核。提前感谢:)谢谢你的评论告诉我如何接受答案,是的,你是对的,我应该问一些更详细的问题:)谢谢