窗体中有一个按键控件,button_Click { . this.Tag是指窗体仍是控件
窗体中有一个按键控件,button_Click { ..., this.Tag是指窗体还是控件
public partial class F_Login : Form
{
DataClass.MyMeans MyClass = new PWMS.DataClass.MyMeans();
请教,窗体中有一个按键控件点击程序中的this.Tag是指窗体的Tag, 还是控件的Tag。谢谢
public F_Login()
{
InitializeComponent();
}
private void butClose_Click(object sender, EventArgs e)
{
if ((int)(this.Tag) == 1)
{
DataClass.MyMeans.Login_n = 3;
Application.Exit();
}
else
if ((int)(this.Tag) == 2)
this.Close();
}
}
------解决方案--------------------
代码定义在窗体内,当然是指窗体。
------解决方案--------------------
this是窗体
------解决方案--------------------
这里this指窗体。
------解决方案--------------------
指窗体。
应该加强一下this作用域的理解。
要验证也很简答,运行程序, 在这一行:
if ((int)(this.Tag) == 1)
设置一个断点,鼠标放在this上,就可以看到这个this指向哪个对象。
------解决方案--------------------
------解决方案--------------------
你的这个代码不可能“在控件内”!
要了解“事件”是什么东西?!
这个Click事件,它定义在控件内,由控件触发,用于回调“调用者”注册的代码。因此事件处理程序是在调用者内部的,不是在控件内部的。基于这个知识,你使用.net现有的控件时声明并注册给控件实例的任何代码,都是在控件外的。举不出“在控件内写this语句”的例子。
public partial class F_Login : Form
{
DataClass.MyMeans MyClass = new PWMS.DataClass.MyMeans();
请教,窗体中有一个按键控件点击程序中的this.Tag是指窗体的Tag, 还是控件的Tag。谢谢
public F_Login()
{
InitializeComponent();
}
private void butClose_Click(object sender, EventArgs e)
{
if ((int)(this.Tag) == 1)
{
DataClass.MyMeans.Login_n = 3;
Application.Exit();
}
else
if ((int)(this.Tag) == 2)
this.Close();
}
}
------解决方案--------------------
代码定义在窗体内,当然是指窗体。
------解决方案--------------------
this是窗体
------解决方案--------------------
这里this指窗体。
------解决方案--------------------
指窗体。
应该加强一下this作用域的理解。
要验证也很简答,运行程序, 在这一行:
if ((int)(this.Tag) == 1)
设置一个断点,鼠标放在this上,就可以看到这个this指向哪个对象。
------解决方案--------------------
(sender as Button).Tag
------解决方案--------------------
代码定义在窗体内,当然是指窗体。
那指按键控件的this什么时候用啊,怎样表达?
能不能给一个例子。
你的这个代码不可能“在控件内”!
要了解“事件”是什么东西?!
这个Click事件,它定义在控件内,由控件触发,用于回调“调用者”注册的代码。因此事件处理程序是在调用者内部的,不是在控件内部的。基于这个知识,你使用.net现有的控件时声明并注册给控件实例的任何代码,都是在控件外的。举不出“在控件内写this语句”的例子。