如何解决不得不生成控件事件的问题

红帽小小 2009-03-10 05:29:40
问题是这样的:
我写的一个控件A,里面有个事件B
在另外个FORM上把控件拖上来
如果不把控件A的事件B 生成到FORM里
程序执行会出错

不像button一样,Click事件 不管生成与否,程序执行都不会出错

在此请教各位朋友啊
...全文
110 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tweeger 2009-03-10
  • 打赏
  • 举报
回复
嗯,看样子应该是在事件的触发函数中出的问题:
可能是没有作判断就直接调用了。
if(this.OnInput!=null)
{
this.OnInput();
}
红帽小小 2009-03-10
  • 打赏
  • 举报
回复
代码只是一部分而已
原来if (OnInput!=null) 就可以了
我真是太笨拙了~
lxf2000104 2009-03-10
  • 打赏
  • 举报
回复
把 OnInput(textBox1.Text);
注释掉看看,
你的标题提问就知道了,
不可能,脱了自定义的类,事件也要重新生成带过来的
天乐 2009-03-10
  • 打赏
  • 举报
回复
希望你的真实意思不是另外一种
天乐 2009-03-10
  • 打赏
  • 举报
回复
楼上说的都对,哈哈,一模一样

提醒楼主一下,你的问题描述有歧义

你的代码也不对
lxf2000104 2009-03-10
  • 打赏
  • 举报
回复
调试一下看看,
你自定义的类中,
OnInput(textBox1.Text);
OnInput这个事件没有跟委托关联起来。
悔说话的哑巴 2009-03-10
  • 打赏
  • 举报
回复
OnInput!=null)OnInput(textBox1.Text);
cja03 2009-03-10
  • 打赏
  • 举报
回复
if (OnInput!=null)
OnInput(textBox1.Text);
zgke 2009-03-10
  • 打赏
  • 举报
回复
if(OnInput!=null)OnInput(textBox1.Text);
红帽小小 2009-03-10
  • 打赏
  • 举报
回复

public partial class MSG : Form
{
public delegate void MyDelegate(string text);
public event MyDelegate OnInput;

private void button1_Click(object sender, EventArgs e)
{
OnInput(textBox1.Text);
this.Close();
}

}

public partial class Form1 : Form
{
private void button4_Click(object sender, EventArgs e)
{
MSG msg = new MSG();
msg.OnInput += new MSG.MyDelegate(msg_OnInput);
}

void msg_OnInput(string text)
{
//do something;
}
}


如果不写msg.OnInput += new MSG.MyDelegate(msg_OnInput);这一句和msg_OnInput方法,程序执行就出错啦
请问有什么好方法可以解决
红帽小小 2009-03-10
  • 打赏
  • 举报
回复
意思就是,我写的事件,必须要生成,
不像BUTTON的CLICK事件,生不生成都可以
贫僧又回来了 2009-03-10
  • 打赏
  • 举报
回复
-=?

111,126

社区成员

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

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

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