c#首先执行构造函数或onLoad会执行什么操作?

l--*_*''' 1 .net c# winforms

我有一个构造函数:

public Form1(string startDate, string endDate, string cbQCValues,string cbAnalytes, string cbInstruments,bool copy_of_form)
    {
        InitializeComponent();
        dateStart.Value = Convert.ToDateTime(startDate);
        dateEnd.Value = Convert.ToDateTime(endDate);


        GenerateGraph();
    }
Run Code Online (Sandbox Code Playgroud)

我也有一个onLoad

  private void Form1_Load(object sender, EventArgs e)
            {

               string qcvalues_query = "SELECT DISTINCT name FROM qvalues ORDER by name";
               string analytes_query = "SELECT DISTINCT compound FROM qvalues ORDER by compound";
               string instruments_query = "SELECT DISTINCT instrument FROM batchinfo WHERE instrument <> '' AND instrument is not Null ORDER by instrument";
...
...
}
Run Code Online (Sandbox Code Playgroud)

什么先被执行?我需要确保首先执行onLoad

这是真的吗?

Han*_*ant 5

当然构造函数首先执行,在任何OOP语言中都是非常基本的规则.它是否会先完成是一个悬而未决的问题.从技术上讲,构造函数可以修改需要创建句柄的Form类属性.就像使用Handle属性一样,保持简单.这将触发OnLoad和Load事件,然后在构造函数完成之前运行完成.

这是罕见但可能的.