winform 如何执行接收的委托事件

jorgenxu 2014-04-15 05:08:18
标题可能描述不清:
public static void Show( string Title, Delegate method)
{
UUChatMsg MsgForm = new UUChatMsg();
TextInput t = new TextInput();
MsgForm.Controls.Add(t);

Button b = new Button ();
MsgForm.Controls.Add(b);
//测试直接执行委托 MsgForm.Invoke(method,"测试")

//如何做才能做到 当B点击的时候,执行委托method,委托参数是文本框t的值 ?
//

}
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
X_SpringSun 2014-04-15
  • 打赏
  • 举报
回复
一样的呀 在按钮的Click事件你写 public void btn_click(object sender, EventArgs e) { if (t.InvokeRequired) { UUChatMsg MsgForm = new UUChatMsg(method); Invoke(MsgForm, t.text); } else { method(t.text); } }
threenewbee 2014-04-15
  • 打赏
  • 举报
回复
Lambda表达式。找一本C#入门教材先把基本语法熟悉下。
KJ_Wang 2014-04-15
  • 打赏
  • 举报
回复
上在的很多人都说了,我无话可说!
jorgenxu 2014-04-15
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
Button b = new Button (); b.Click+= (a, b) => { method(); };
可以了谢谢、不过“b.Click+= (a, b)”这是什么东东?第一次见
寂空冷 2014-04-15
  • 打赏
  • 举报
回复
Button b = new Button (); b .Click += delegate { MsgForm.Invoke(method,"测试") }; MsgForm.Controls.Add(b);
threenewbee 2014-04-15
  • 打赏
  • 举报
回复
Button b = new Button (); b.Click+= (a, b) => { method(); };

110,538

社区成员

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

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

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