初学C#,求解一问题。

XiaoMi90 2011-06-14 04:26:46
用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”不可访问,因为它受保护级别限制
...全文
86 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlackPointofSun 2011-06-14
  • 打赏
  • 举报
回复
给form1增加一个带字符串参数的构造函数,
public form1(string s)
{
label1.text = s;
}
调用时,
Form1 start = new Form1("textBox1.Text")

或者将要传递的信息保存到settings里,在form1加载时从settings里读取
EdsionWang 2011-06-14
  • 打赏
  • 举报
回复
文件管理课程设计.Form1.label1 设成public
tansuozhev 2011-06-14
  • 打赏
  • 举报
回复
去掉start. 直接用label呢
Maa 2011-06-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jq_whh 的回复:]

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

一般不建议这么改,你在Form1的class里面写一个公共方法吧,修改你label1的Text,比如:

// 公用方法
public void ModifyLabel1Text(string text)
{
this.label1.Text = text;
}

// 调用公用方法
start.ModifyLabel1Text(textBox1.Text);

jq_whh 2011-06-14
  • 打赏
  • 举报
回复
找到Form1.Designer.cs文件,替换下面的语句:
private System.Windows.Forms.Label label1;
改为:
public System.Windows.Forms.Label label1;
ar 2011-06-14
  • 打赏
  • 举报
回复
把他的modifiers设置成public

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧