C#自定义控件内的子控件和父控件间事件怎么传递?
这是个自定义控件,每个格子里面是个label,当我把自定义控件拖到窗体的时候,直接在其Click事件中写代码,但无法触发——因为被这些label挡住了,根本触发不到父控件...
这是个自定义控件,每个格子里面是个label,当我把自定义控件拖到窗体的时候,直接在其Click事件中写代码,但无法触发——因为被这些label挡住了,根本触发不到父控件的事件,这个怎么处理?设置label的Enabled=false是可以,但这样做字体会变灰……用自定义事件的话,我不知道怎么相互绑定。
展开
4个回答
展开全部
假设你的控件名称为UserControl1, 控件生各个Label的名称依次为label1, label2, ……
在控件UserControl1后台代码中,对每个标签的Click事件编程
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
base.OnClick(e);
}
private void label2_Click(object sender, EventArgs e)
{
base.OnClick(e);
}
//有多少个标签,就重复多少次!
//……
}
这样,UserControl1布置在窗体上后,鼠标点击任何一个标签,都会引发UserControl1的Click事件
展开全部
表格你用的是TableLayoutPanel么?把表格的Enabled属性设置为false,它就不再响应鼠标事件了。如果是其他容器控件,也一个道理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在窗体的LOAD事件里加入如下,
button1.Click += new System.EventHandler(this.Form1_Click);
......
这样就将其下的BUTTON1.CLICK绑定到了FORM1_Click里了,自定义控件同理,就这样简单。
button1.Click += new System.EventHandler(this.Form1_Click);
......
这样就将其下的BUTTON1.CLICK绑定到了FORM1_Click里了,自定义控件同理,就这样简单。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void labels_Click(object sender, EventArgs e)
{
base.OnClick(e);
}
//在设计界面里全选Label控件同时选上,在属性区里选择事件Click事件选择
//labels_Click就可以所有的label控件都能返回默认的点击事件了
//不需要有多少都写多少个事件啊!
}
{
public UserControl1()
{
InitializeComponent();
}
private void labels_Click(object sender, EventArgs e)
{
base.OnClick(e);
}
//在设计界面里全选Label控件同时选上,在属性区里选择事件Click事件选择
//labels_Click就可以所有的label控件都能返回默认的点击事件了
//不需要有多少都写多少个事件啊!
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询