C# 怎样执行 InitializeComponent() 下面的函数?
InitializeComponent()下面自己定义了一个函数,怎么样才能执行?在哪里设置啊?FormLoad()怎么才能执行到呢?如下publicpartialcla...
InitializeComponent() 下面自己定义了一个函数,怎么样才能执行?在哪里设置啊?
FormLoad() 怎么才能执行到呢?
如下
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FormLoad()
{
load();
}
} 展开
FormLoad() 怎么才能执行到呢?
如下
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FormLoad()
{
load();
}
} 展开
5个回答
展开全部
在每一个窗体生成的时候,都会针对于当前的窗体定义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方法,会发现窗体对象的初始化都是在那里做的。
//位于.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方法,会发现窗体对象的初始化都是在那里做的。
展开全部
initializecomponent()就是一个方法,放在窗体类的构造函数内。一般会在窗体类实例化时(即new出一个窗体对象时)被执行。这个方法的意思是初始化组件,作用是初始化窗体中添加的各种控件,以便进一步显示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
额,你的意思是说想让Form1的窗体加载时进行的操作吗?
这个需要注册事件的。具体是选中Form1的窗体,在属性栏里面上面有个闪电形状的样子,是增加事件的响应。
然后找到响应的选项,双击,然后就会出现响应的方法。在那个方法里面再添加你要执行的语句就可以了。
这个需要注册事件的。具体是选中Form1的窗体,在属性栏里面上面有个闪电形状的样子,是增加事件的响应。
然后找到响应的选项,双击,然后就会出现响应的方法。在那个方法里面再添加你要执行的语句就可以了。
更多追问追答
追问
谢谢,刚才看见闪电了,这就试试。不会的再问了。
追答
嗯,这个是很基础的。其实实现的原理是给对象增加了响应事件的委托。
双击那个Load之后,你再去Form1.Designer.cs中去看一看代码,会多出来
this.Load += new System.EventHandler(this.Form1_Load);
这就是注册的委托,然后响应方法就是Form1_Load()
也就是说只要知道这个,可以不通过那个“闪电”的,自己用代码就能实现。自己多试试吧~
楼下的方法也是可以的~如果不需要什么事件就调用你的函数,那就像楼下的那样,在类的构造函数里面添加语句就可以了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
紧跟InitializeComponent();后面调用。
更多追问追答
追问
我自己定义的函数怎么调用呢?紧跟着InitializeComponent();后面调用。 可是不往里头进呢?
追答
public Form1()
{
InitializeComponent();
FormLoad();
}
你是这样写的吗?如果断点还不见运行到,那我没法了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白
追问
刚开始学C# ,新建一个project,Form上画了几个小控件, 启动FORM之后, InitializeComponent()执行了,; 它下面的FormLoad()没有执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询