C# 怎样执行 InitializeComponent() 下面的函数?

InitializeComponent() 下面自己定义了一个函数,怎么样才能执行?在哪里设置啊?
FormLoad() 怎么才能执行到呢?
如下
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FormLoad()
{
load();
}
}

  在每一个窗体生成的时候,都会针对于当前的窗体定义InitializeComponent()方法,该方法实际上是由系统生成的对于窗体界面的定义方法。
  //位于.cs文件之中的InitializeComponent()方法
  public Form011()
  {
  InitializeComponent();
  }
  在
  每一个Form文件建立后,都会同时产生程序代码文件.CS文件,以及与之相匹配的.Designer.CS文件,业务逻辑以及事件方法等被编写在.CS
  文件之中,而界面设计规则被封装在.Designer.CS文件里,下面代码为.Designer.CS文件的系统自动生成的脚本代码。
  namespace Example_FormTest
  {
  partial class frmStudent
  {
  /// <summary>
  /// 必需的设计器变量。
  /// </summary>
  private System.ComponentModel.IContainer components = null;

  /// <summary>
  /// 清理所有正在使用的资源。
  /// </summary>
  /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
  protected override void Dispose(bool disposing)
  {
  if (disposing && (components != null))
  {
  components.Dispose();
  }
  base.Dispose(disposing);
  }

  #region Windows 窗体设计器生成的代码

  /// <summary>
  /// 设计器支持所需的方法 - 不要
  /// 使用代码编辑器修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
  this.SuspendLayout();
  //
  // frmStudent
  //
  this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
  this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  this.ClientSize = new System.Drawing.Size(292, 273);
  this.Name = "frmStudent";
  this.Text = "学生信息";
  this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.frmStudent_MouseClick);
  this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frmStudent_KeyPress);
  this.ResumeLayout(false);

  }

  #endregion
  }
  }

  在代码之中,可以很容易发现InitializeComponent()方法和Dispose()方法,前者为界面设计的变现内容,后者为表单释放系统资源时候执行编码。
  InitializeComponent()方法反映了窗体设计器中窗体和控件的属性。通常不会在世界上个文件中修改代码。如果更改InitializeComponent()方法中的相关属性参数,在窗体设计器界面上也会显示出来。
  我们发现建一个c#窗体项目,在Form1.cs和Form1.Designer.cs里分别有一个InitializeComponent()函数
  Form1.Designer.cs 里的是定义 (函数名后面有大括号包含定义内容)
  Form1.cs 里的是调用 (函数名后面分号结尾)
  partial 表示以下创建的是分布类代码
  也就是说 一个类的定义代码 可以写在两个不同的页面
  Form1.cs和Form1.Designer.cs
  注意:InitializeComponent()方法写在前面和后面是有区别的。InitializeComponent()方法是用来初始化窗体组件
  的,在InitializeComponent之前,窗体的各个控件还没有进行初始化,比如说窗体上有一个TextBoxUserName,在
  InitializeComponent之前它还只是一个TextBox类型的变量而已,如果在InitializeComponent之前调用这个
  TextBox的属性或方法,就会出错。再比如说你拖上取一个TextBox,它放在Form的位置,TextBox的一些属性。包括new
  这个TextBox都放在那个函数里面处理的。
  可以看一下Form.Designer.cs,在那里找到InitializeComponent方法,会发现窗体对象的初始化都是在那里做的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-02
initializecomponent()就是一个方法,放在窗体类的构造函数内。一般会在窗体类实例化时(即new出一个窗体对象时)被执行。这个方法的意思是初始化组件,作用是初始化窗体中添加的各种控件,以便进一步显示。
第2个回答  2011-12-10
额,你的意思是说想让Form1的窗体加载时进行的操作吗?
这个需要注册事件的。具体是选中Form1的窗体,在属性栏里面上面有个闪电形状的样子,是增加事件的响应。
然后找到响应的选项,双击,然后就会出现响应的方法。在那个方法里面再添加你要执行的语句就可以了。追问

谢谢,刚才看见闪电了,这就试试。不会的再问了。

追答

嗯,这个是很基础的。其实实现的原理是给对象增加了响应事件的委托。
双击那个Load之后,你再去Form1.Designer.cs中去看一看代码,会多出来
this.Load += new System.EventHandler(this.Form1_Load);
这就是注册的委托,然后响应方法就是Form1_Load()
也就是说只要知道这个,可以不通过那个“闪电”的,自己用代码就能实现。自己多试试吧~

楼下的方法也是可以的~如果不需要什么事件就调用你的函数,那就像楼下的那样,在类的构造函数里面添加语句就可以了。

追问

谢谢了啊。OK了。我就是想要这个效果的。以后还会问的啊。哈哈。

本回答被提问者和网友采纳
第3个回答  2011-12-10
紧跟InitializeComponent();后面调用。追问

我自己定义的函数怎么调用呢?紧跟着InitializeComponent();后面调用。 可是不往里头进呢?

追答

public Form1()
{
InitializeComponent();
FormLoad();
}
你是这样写的吗?如果断点还不见运行到,那我没法了。

追问

谢谢啦,多种方法试试。

第4个回答  2011-12-10
没明白追问

刚开始学C# ,新建一个project,Form上画了几个小控件, 启动FORM之后, InitializeComponent()执行了,; 它下面的FormLoad()没有执行。

C# 怎样执行 InitializeComponent() 下面的函数?
InitializeComponent()方法反映了窗体设计器中窗体和控件的属性。通常不会在世界上个文件中修改代码。如果更改InitializeComponent()方法中的相关属性参数,在窗体设计器界面上也会显示出来。我们发现建一个c#窗体项目,在Form1.cs和Form1.Designer.cs里分别有一个InitializeComponent()函数 Form1.Designer.cs 里...

c#,构造函数里的initializecomponent()
`InitializeComponent()`方法的作用主要在于加载窗体的用户界面(UI)布局以及与之关联的控件。当你在Visual Studio中设计界面时,控件的属性和布局会在设计器中预设。当你的应用程序运行时,`InitializeComponent()`会读取这些设计时的信息,将其转化为代码,并在构造函数中执行,从而确保控件的位置、大小、事...

C#:Form类构造函数中initializeComponent()有什么用呀,系统做了哪些工...
完成Form 的初始化,比如Form的样式、布局,特别是Form上面的控件如button、textbox等的创建都在这里完成。特别注意,initializeComponent()函数内的内容是集成开发环境自动生成的,不要去改此方法的内容,关键是改了也没用,一旦窗体发生变化,vs会自动更新这里的内容,你改的部分就被抹去了。

...化放在Load事件中与InitializeComponent()下面有何区别?
InitializeComponent 这个方法为初始化窗体组件,加载窗体拖拽的控件, 全局变量的定义、控件数据的加载可以放在方法或事件中 比如 page_load 控件属性初始化 可以放在 窗体构造函数中,也可以放在 page_load中 。对于控件的代码操作,只能放在InitializeComponent 方法下,因为代码是按照上下顺序执行的,卸载Initi...

C#中的initializecomponent()方法
主要是用来初始化designer时拖到Form上的Control的。比如说你拖上取一个TextBox,他放在Form的什么位置拉,TextBox的一些属性拉。包括new 这个TextBox都放在那个函数里面处理的。这个函数定义在Form.designer.cs(vs2005)文件中。具体你可以跟踪进去看一下。

C#如何实现等待界面上任意一个按钮按下再执行语句后面的操作呢,界面...
public Form1() { InitializeComponent(); Button bt1 = new Button(); bt1.Click += new EventHandler(bt1_Click); Button bt2 = new Button(); bt2.Click += new EventHandler(bt2_Click); Button bt3 = new Button(); bt3.Click += new EventHandler(bt3_C...

c#,构造函数里的initializecomponent()什么意思
详细解释如下:一、initializeComponent方法概述 在C#的Windows Forms应用程序中,`initializeComponent`方法是一个特殊的方法,它通常在窗体设计器生成的代码文件中被调用。该方法主要用于初始化窗体上的各种组件,例如按钮、文本框等。在构造函数中调用`initializeComponent`确保了这些组件在窗体加载时能够正确地被...

c#在InitializeComponent()添加自写代码,不被优化掉
)中添加自己的代码,因为只要你界面有异动,比如添加\/删除一个控件,该方法内的代码将会重新生成.所以,如果你需要Initialze你自己的东西,那就自己建一个这样的方法,放在构造函数里的InitializeComponent()后面.比如 class Simple{ public Simple(){ InitializeComponent();Initialize();} } ...

C#中MessageBox如何实现弹窗后不用人为点击可以继续执行后面的代码?
Form { public Form2(string str) { InitializeComponent(); label1.Text = str; } } \/\/Form1调用代码 Form2 f2 = new Form2("hello world");f2.Show();int a = 0; \/\/不会停,会直接执行下面代码

C# 控件闪烁问题
这样试试:将下面的代码,放在 FORM 的构造函数的 InitializeComponent(); 后面 Version v = System.Environment.Version;if (v.Major < 2){ this.SetStyle(ControlStyles.DoubleBuffer, true);} else { this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);} this.SetStyle(ControlStyles.All...

相似回答