当前位置:编程学习 > C#/ASP.NET >>

求助全局变量问题!!!!!

比如我在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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,