关于自定义控件中定义事件无法执行

忿奋逸龙 2016-04-19 09:40:49
namespace UcDll
{
public partial class UcTest: UserControl
{
public UcTest()
{
InitializeComponent();
}

//定义委托
public delegate void BtnClickHandle(object sender, EventArgs e);
//定义事件
public event BtnClickHandle UserControlBtnClicked;
private void btn_Click(object sender, EventArgs e)
{
if (UserControlBtnClicked != null)
{
UserControlBtnClicked(sender, new EventArgs());//把按钮自身作为参数传递
label1.Text = "wawawa";
}
}
}
}


自定义控件生成测试,点按钮,执行到if (UserControlBtnClicked != null)语句就退出。请问是何缘故?
...全文
280 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 fenfelong2012 的回复:
[quote=引用 4 楼 duanzi_peng 的回复:] 测试代码贴出来看看
我就直接在自定义控件中测试的,UserControlBtnClicked 一直为空,不知道为什么?[/quote] 声明了 UserControlBtnClicked ,但是没有赋值 使用,当然为null。 参见#2
songbing774933 2016-04-19
  • 打赏
  • 举报
回复
引用 6 楼 fenfelong2012 的回复:
[quote=引用 4 楼 duanzi_peng 的回复:] 测试代码贴出来看看
我就直接在自定义控件中测试的,UserControlBtnClicked 一直为空,不知道为什么?[/quote] 你没有给它赋值,为什么不是空 看2楼
忿奋逸龙 2016-04-19
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
测试代码贴出来看看
我就直接在自定义控件中测试的,UserControlBtnClicked 一直为空,不知道为什么?
忿奋逸龙 2016-04-19
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
测试代码贴出来看看
songbing774933 2016-04-19
  • 打赏
  • 举报
回复
引用 5 楼 fenfelong2012 的回复:
[quote=引用 4 楼 duanzi_peng 的回复:] 测试代码贴出来看看
[/quote] 左下角很明显了,UserControlBtnClicked 是null啊
忿奋逸龙 2016-04-19
  • 打赏
  • 举报
回复
引用 楼主 fenfelong2012 的回复:
namespace UcDll
{
	public partial class UcTest: UserControl
	{
		public UcTest()
		{
			InitializeComponent();
		}

		//定义委托
		public delegate void BtnClickHandle(object sender, EventArgs e);
		//定义事件
		public event BtnClickHandle UserControlBtnClicked;
		private void btn_Click(object sender, EventArgs e)
		{
			if (UserControlBtnClicked != null)
			{
				UserControlBtnClicked(sender, new EventArgs());//把按钮自身作为参数传递
				label1.Text = "wawawa";
			}
		}
	}
}
自定义控件生成测试,点按钮,执行到if (UserControlBtnClicked != null)语句就退出。请问是何缘故?
我想请问的就是:它为什么会是null呢?又如何解决呢?
  • 打赏
  • 举报
回复
测试代码贴出来看看
好几只小萝莉 2016-04-19
  • 打赏
  • 举报
回复
UcTest test = new UcTest(); ... ... test.UserControlBtnClicked+=...
Poopaye 2016-04-19
  • 打赏
  • 举报
回复
因为 UserControlBtnClicked == null

111,128

社区成员

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

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

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