平时在winform设计的时候订阅时间,比如订阅按钮单击的事件处理程序(是个方法吧),都是直接在设计器里双击按钮控件,
直接定位到事件处理程序的位置(也就是方法的位置),然后就写处理程序的代码,
今天看到书上说,订阅的代码都是手动编写,写在了构造函数如下:
public MainForm()
{
InitializeComponent();
//这个位置写上了订阅事件的代码.......+=.......... }那么自动定位事件处理程序并订阅事件的时候,其订阅代码是放在什么地方了呢?我找了下没找到,请指点,另外:一些用于初始化控件的代码写在构造函数里跟写在窗体载入的方法代码块中有区别吗,如下
private void MainForm_Load(object sender, EventArgs e)
{
LoginForm login = new LoginForm();
login.ShowDialog();
if (LoginForm.result == DialogResult.OK)
{
this.tsbRoomType.Enabled = true;
this.tsbRoomSet.Enabled = true;
this.tsbBusiness.Enabled = true;
this.tsbUserManager.Enabled = true;
this.tsmiBaseSetting.Enabled=true;
this.tsmiManageBusiness.Enabled=true;
this.tsmiUserManage.Enabled = true;
}类似这些设定控件是否可用的代码如下:(或者事件订阅代码等)
this.tsbBusiness.Enabled = true;
this.tsbUserManager.Enabled = true;
this.tsmiBaseSetting.Enabled=true;
this.tsmiManageBusiness.Enabled=true;
this.tsmiUserManage.Enabled = true;
写在构造函数中可以吗?构造函数应该是实例话对象时候调用的,既然创建了这个窗体的对象了,(在xxxx.Design.cs中实例化的对吧?)那么我想,写在构造函数中跟写在窗体载入方法的代码块中效果一样的吧?请指点了....
直接定位到事件处理程序的位置(也就是方法的位置),然后就写处理程序的代码,
今天看到书上说,订阅的代码都是手动编写,写在了构造函数如下:
public MainForm()
{
InitializeComponent();
//这个位置写上了订阅事件的代码.......+=.......... }那么自动定位事件处理程序并订阅事件的时候,其订阅代码是放在什么地方了呢?我找了下没找到,请指点,另外:一些用于初始化控件的代码写在构造函数里跟写在窗体载入的方法代码块中有区别吗,如下
private void MainForm_Load(object sender, EventArgs e)
{
LoginForm login = new LoginForm();
login.ShowDialog();
if (LoginForm.result == DialogResult.OK)
{
this.tsbRoomType.Enabled = true;
this.tsbRoomSet.Enabled = true;
this.tsbBusiness.Enabled = true;
this.tsbUserManager.Enabled = true;
this.tsmiBaseSetting.Enabled=true;
this.tsmiManageBusiness.Enabled=true;
this.tsmiUserManage.Enabled = true;
}类似这些设定控件是否可用的代码如下:(或者事件订阅代码等)
this.tsbBusiness.Enabled = true;
this.tsbUserManager.Enabled = true;
this.tsmiBaseSetting.Enabled=true;
this.tsmiManageBusiness.Enabled=true;
this.tsmiUserManage.Enabled = true;
写在构造函数中可以吗?构造函数应该是实例话对象时候调用的,既然创建了这个窗体的对象了,(在xxxx.Design.cs中实例化的对吧?)那么我想,写在构造函数中跟写在窗体载入方法的代码块中效果一样的吧?请指点了....
解决方案 »
- asp.net 项目开发是不是前台界面和后台代码都有同一类型的人完成的?
- 【100分求助】如何把两张表中的记录加到一张表(DataTable)中?
- 三个comboBox级联的问题
- 关于Property 高手帮帮忙啊!
- 建立本地的SQLServer连接时是否要先建立一个ODBC数据源?
- 新人求助:我想在硬盘上创建一个文件夹,怎么判断其是否存在,存在就不创建,不存在就创建啊?
- 求高手指教!!!
- 使用System.Net.Mail.SmtpClient,如何得到邮件发送失败的信息。
- 算法问题,关于数据库存及线程,请各位提一下建议
- 登录保存信息问题
- 在SQL SERVER 2005可以使用.NET REMOTING吗?
- 紧急求援!!!
private void Form1_Load(object sender, EventArgs e)
{
Button btnTest = new Button();
btnTest.Click += new EventHandler(btnTest_Click);
//添加事件处理程序
}
//该事件处理程序的实现部分。
void btnTest_Click(object sender, EventArgs e)
{
MessageBox.Show("OK,这就是我自己订阅的事件处理程序了。")
//throw new Exception("The method or operation is not implemented.");
}懂了没?
我问的是自动生成的订阅代码位置在何处,不是问如何订阅事件,你这个应该是手写上去的代码,
1楼说的是对的,在.Design.cs文件里,找到了,
那另外写在构造函数里跟写在窗体载入的方法里有区别吗?
sp1234说的太强大了 UP
a.Show();第一句发生InitializeComponent();。
第二句发生Form2_Load事件。
其实我更喜欢用普通文本编辑器来写cs代码,这样可以掌握很多细节,而且也可以不用安装vs那个庞然大物