打开一个c#表单的一部分无法理解

时间:2015-08-19 17:39:51

标签: c#

我是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");
     }       
   } 
}

3 个答案:

答案 0 :(得分:3)

事件按照Microsoft设计的顺序发生:

通过https://msdn.microsoft.com/en-us/library/86faxx0d.aspx

  

FormControl类公开了一组与应用程序启动和关闭相关的事件。当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。