急:有关C#的问题,请专业人士来看看
不应该在button按钮下声明 txtName,它是个局部变量,出了Button_Click()函数的范围就被销毁了。
在login窗口类声明
private string txtName;//成员变量要设置为私有的
public string m_TxtName //定义属性
{
set{ txtName = value;}
get{return txtName;}
}
在Button的click函数中
m_TxtName =TextName.Text;
你就可以在另外的窗口中访问login类的m_TxtName了.
声明的时候应为PUBLIC类型的
引用的时候格式为:login.txtname
当你在定义这个txtname的时候
声明为PUBLIC类型的
然后在另一个窗体中引用的时候格式为:
login.txtname
我不清楚你为什么要用到这个变量。不过我有几个实例方案,你可以应用下。
一、改变量作为用户身份标示:
建立创建一个静态类
class UserAccount{
public static string txtUserName;
..
..
..
}
将txtName附给静态类变量
txtUserName=TextName.Text
二、作为对话框简单返回形式。
建立属性进行访问。
class CLogin:Form
{
...
...
public string Name{
get{
return TextName.Text
}
}
...
...
}
随后调用该属性
string Username=login.Name;
三、回调方式应用
定义一个事件
public Delegate void DialogReturn(string result);
public class CLogin:Form{
public event OnDialogButtonClick OnDialogReturn;
....
....
public void button_onclick(...){....
if(OnDialogReturn!=null)OnDialogReturn(TextName.Text);
.....}
.....
}
四、最简单的方式(建议不要使用)
直接将控件定义为全局。