如何正确处理按钮顶部标签上的事件
本文关键字:事件 标签 顶部 正确处理 按钮 | 更新日期: 2023-09-27 18:13:13
我有一个从Button继承的类。在这个类中,我创建标签,我可以使用自定义按钮标题。我对这些自定义按钮的问题是,当我点击标签什么都没有发生,如果我点击标签外,但仍然在按钮上,它像往常一样工作。为了解决这个问题,我写了:
lblTitle.Click += new EventHandler(LabelClick);
在LabelClick中我写:
private void LabelClick(object sender, EventArgs e)
{
base.OnClick(e);
}
这工作得很好,但后来我注意到,当我点击标签时,我没有得到点击的点击动画。我对onMouseDown和onmouseup做了同样的事情。
lblTitle.MouseDown += new MouseEventHandler(LabelMouseDown);
lblTitle.MouseUp += new MouseEventHandler(LabelMouseUp);
private void LabelMouseDown(object sender, MouseEventArgs e)
{
base.OnMouseDown(e);
}
private void LabelMouseUp(object sender, MouseEventArgs e)
{
base.OnMouseUp(e);
}
但是我有时会得到点击两次按钮的效果。所以现在我想知道,当我点击按钮和按钮顶部的标签时,我如何给用户相同的点击动画,而不让按钮点击两次?
提前感谢,如果你要降级这个问题,请留下评论为什么!
我认为问题在于LabelClick &LabelMouseDown,当您单击在基本按钮中触发它们的标签时,所有这三个事件都会被触发。所以当你创建一个MouseDown事件时,你的click事件会被复制。(这应该是一个评论,但我没有足够的声誉留下评论,希望它会有所帮助:))