求助全局变量问题!!!!!
比如我在Windows窗口 Form1中定义一个全局变量,想在Form2中调用,但是又不给这个变量赋值,只想把变量的值赋为Form1的一个控件(比如)TextBox中输入的textBox1.Text的值,请问有没办法实现???--------------------编程问答-------------------- public static string abc = "";
form2 中
form1.Textbox1.Text = Form2.abc; --------------------编程问答-------------------- 试试先,不过谢谢拉 --------------------编程问答-------------------- 不行啊!!我是想把Form1的Textbox1的值赋给全局变量,再将全局变量的值赋给From2的Textbox2上去!!!! --------------------编程问答-------------------- 我晕 盗版一下
public static string abc = "";
form2 中
form1.abc = form1.Textbox1.Text ;
Form2.Textbox2 = form1.abc
搞什么嘛
--------------------编程问答-------------------- 不需要全局变量, 只要把 form1.Textbox1.Text 作为公共只读属性公开出来不就完了么?
全局变量是不得已才用的,这里根本不必要用全局变量。 --------------------编程问答-------------------- 定义一个只读属性~~
public string TextBox1_Text{
get{
return textBox1.Text;
}
} --------------------编程问答-------------------- class Form1
{
public string Test
{
get
{
return TextBox1.Text;
}
}
}
string s = form1.Test; --------------------编程问答-------------------- 呃~~属性需要实例才能读~~`
所以Form1类还要处理一下~~~
public partial class Form1 : Form
{
public static List<Form1> Form1s;//注意是静态的
public Form1()
{
InitializeComponent();
if(Form1s==null)Form1s=new List<Form1>();
Form1s.Add(this);
}
public string TextBox1_Text{
get{
return textBox1.Text;
}
}
}
//那么如果只有一个Form1实例的话~~`
//在Form2里面就可以使用
Form1.Form1s[0].TextBox1_Text去访问~~ --------------------编程问答-------------------- 在Form1中声明一个静态的变量
public static string str = "aaa";
也可以在Form1的一个方法中给str赋值。
str = this.textBox1.Text;
到了Form2 中,写如下就可以
this.txtResult.Text = Form1.str;
另外需要说一下,用全局变量是不好的习惯,这样会使程序的安全性降低
非用不可的话,最好把他声明成属性 --------------------编程问答-------------------- 感动中,谢谢大家!!!!!!!!!!!!!!
补充:.NET技术 , C#