我是c#WinForms的新手。我有2个问题。这段代码基本上告诉我们表格开头的部分。
第一个问题form1_Activated或Form1_Show或button_Click我的意思是所有具有相同的形式'_'和方法名称的名称。它只是一种风格的语法。
我的第二个问题是程序如何知道它应该首先执行哪个。我的意思是在代码行中激活bindingboundtextConhanged-Load ... 但是在输出中它是不同的。所以这是如何实现的,哪些代码使这成为可能
private void Form1_Activated(object sender, EventArgs e)
{
Debug.Print("Activated");
}
private void Form1_BindingContextChanged(object sender, EventArgs e)
{
Debug.Print("BindingContextChanged");
}
private void Form1_Load(object sender, EventArgs e)
{
Debug.Print("Load Olayı");
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Debug.Print("Paint Olayı");
}
private void Form1_Shown(object sender, EventArgs e)
{
Debug.Print("Shown Olayı");
}
private void Form1_VisibleChanged(object sender, EventArgs e)
{
Debug.Print("VisibleChanged");
}
private void Form1_Validated(object sender, EventArgs e)
{
Debug.Print("Validated");
}
}
}
答案 0 :(得分:3)
事件按照Microsoft设计的顺序发生:
通过https://msdn.microsoft.com/en-us/library/86faxx0d.aspx:
Form
和Control
类公开了一组与应用程序启动和关闭相关的事件。当Windows窗体应用程序启动时,主窗体的启动事件按以下顺序引发:
Control.HandleCreated
Control.BindingContextChanged
Form.Load
Control.VisibleChanged
Form.Activated
Form.Shown
当应用程序关闭时,主窗体的关闭事件按以下顺序引发:
Form.Closing
Form.FormClosing
Form.Closed
Form.FormClosed
Form.Deactivate
在主窗体的关闭事件之后引发
ApplicationExit
类的Application
事件。
命名FormName_Event
的方法也是设计的(至少在IDE中)。您看到的是表单设计者生成的默认事件处理程序名称。如果您愿意,可以覆盖这些。
答案 1 :(得分:1)
方法是事件处理程序。它们由.Net Framework运行时调用,以响应Form对象发生的某些事件。您可以设置响应Visual Studio设计器中的哪个事件的方法,并通过在struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize;
文件中查看表单的InitializeComponent()
来查看它们的连接方式。您不必使用*.designer.cs
约定;如果您没有等待现有方法,这只是为您创建的名称。您甚至可以使用相同的方法响应多个事件。
答案 2 :(得分:0)
我回答第一个问题。这些函数也称为事件处理程序。它们的名称是一般风格,只要您使用向导注册事件,它们就会自动生成。但完全可以将它的名字改为你想要的名字。
第二个问题是@Cᴏʀʏ的ans。