用VS做了一个登陆窗口,然后想把用户名,传到主界面的一个LABEL中,可是提示该控件受保护
以前老师讲过的,可是忘记了,求各位看看了,谢谢了……下面是我登陆窗口,确定按钮的方法:
private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();//点击确定按钮,让登陆窗口隐藏
            Form1 start = new Form1();//实例化主窗口            start.ShowDialog();//显示主窗口
            start.label1.text = textBox1.Text;//将登陆窗口textbox1里的文本显示到主窗口的LABEL1里的文本里
            this.Dispose();
        }
错误信息: 错误 CS0122: “文件管理课程设计.Form1.label1”不可访问,因为它受保护级别限制

解决方案 »

  1.   

    找到Form1.Designer.cs文件,替换下面的语句:
            private System.Windows.Forms.Label label1;
    改为:
            public System.Windows.Forms.Label label1;
      

  2.   


    一般不建议这么改,你在Form1的class里面写一个公共方法吧,修改你label1的Text,比如:// 公用方法
    public void ModifyLabel1Text(string text)
    {
        this.label1.Text = text;
    }// 调用公用方法
    start.ModifyLabel1Text(textBox1.Text);
      

  3.   

    文件管理课程设计.Form1.label1 设成public
      

  4.   

    给form1增加一个带字符串参数的构造函数,
    public form1(string s)
    {
    label1.text = s;
    }
    调用时,
    Form1 start = new Form1("textBox1.Text")或者将要传递的信息保存到settings里,在form1加载时从settings里读取