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

InitializeComponent()下面自己定义了一个函数,怎么样才能执行?在哪里设置啊?FormLoad()怎么才能执行到呢?如下publicpartialcla... InitializeComponent() 下面自己定义了一个函数,怎么样才能执行?在哪里设置啊?
FormLoad() 怎么才能执行到呢?
如下
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FormLoad()
{
load();
}
}
展开
 我来答
低调侃大山
2015-11-07 · 家事,国事,天下事,关注所有事。
低调侃大山
采纳数:67731 获赞数:374597

向TA提问 私信TA
展开全部
  在每一个窗体生成的时候,都会针对于当前的窗体定义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方法,会发现窗体对象的初始化都是在那里做的。
弭阳曜昌壮
2019-08-02 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:606万
展开全部
initializecomponent()就是一个方法,放在窗体类的构造函数内。一般会在窗体类实例化时(即new出一个窗体对象时)被执行。这个方法的意思是初始化组件,作用是初始化窗体中添加的各种控件,以便进一步显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzxsdl
2011-12-10 · TA获得超过1309个赞
知道小有建树答主
回答量:693
采纳率:0%
帮助的人:804万
展开全部
额,你的意思是说想让Form1的窗体加载时进行的操作吗?
这个需要注册事件的。具体是选中Form1的窗体,在属性栏里面上面有个闪电形状的样子,是增加事件的响应。
然后找到响应的选项,双击,然后就会出现响应的方法。在那个方法里面再添加你要执行的语句就可以了。
更多追问追答
追问
谢谢,刚才看见闪电了,这就试试。不会的再问了。
追答
嗯,这个是很基础的。其实实现的原理是给对象增加了响应事件的委托。
双击那个Load之后,你再去Form1.Designer.cs中去看一看代码,会多出来
this.Load += new System.EventHandler(this.Form1_Load);
这就是注册的委托,然后响应方法就是Form1_Load()
也就是说只要知道这个,可以不通过那个“闪电”的,自己用代码就能实现。自己多试试吧~

楼下的方法也是可以的~如果不需要什么事件就调用你的函数,那就像楼下的那样,在类的构造函数里面添加语句就可以了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2011-12-10 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4367万
展开全部
紧跟InitializeComponent();后面调用。
更多追问追答
追问
我自己定义的函数怎么调用呢?紧跟着InitializeComponent();后面调用。 可是不往里头进呢?
追答
public Form1()
{
InitializeComponent();
FormLoad();
}
你是这样写的吗?如果断点还不见运行到,那我没法了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
meisie25087
2011-12-10 · 超过14用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:39.7万
展开全部
没明白
追问
刚开始学C# ,新建一个project,Form上画了几个小控件, 启动FORM之后, InitializeComponent()执行了,; 它下面的FormLoad()没有执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式