vs2008中的action

SandyMonk03 2011-12-07 01:21:24
有一个Main窗体,一个A用户控件,和B用户控件,将AB在Main的Load事件中加载,以显示到Main中,如下:
private void Main_Load(object sender, EventArgs e)
{
A u1 = new A();
B u2 = new B();
panel1.Controls.Add(u1);
panel2.Controls.Add(u2);
}

A中有一个按钮btn,B中有一个文本框。点击A中的btn,用提示框的形式弹出B中文本框的值。
定义了一个类C,声明Action变量:public Action<string> GetInfo { get; set; }
A的btn的点击事件:
c.GetInfo = (str) => { MessageBox.Show("获得信息:" + str); };

B的文本框值的改变事件中:
c.GetInfo(textBox1.Text);

然后我运行,报错,未实例化。请问大家我该怎么弄。谢谢。
...全文
63 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SandyMonk03 2011-12-07
  • 打赏
  • 举报
回复
AB都是在main的主窗体弄的,而且只加载一次
  • 打赏
  • 举报
回复
C c = new C();
c.GetInfo = (str) => { MessageBox.Show(str); };
c.GetInfo(null);
PaulyJiang 2011-12-07
  • 打赏
  • 举报
回复
A u1 = new A();
B u2 = new B();

变量的适用范围
在最外面定义下 在load里面去new

111,117

社区成员

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

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

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