C# 控件单击事件命中框
有没有办法改变c#中点击事件的“点击框”,这是由点击按钮或其他控件引起的 我使用自定义GUI控件来控制设备。这些控件作为小圆圈工作,既指示当前状态(绿色或黑色),也作为用户可以单击的按钮 问题是,我在设备上使用触摸屏,点击小圆圈并不容易。50%的时间您错过了它,并且控件单击事件未引发C# 控件单击事件命中框,c#,winforms,events,click,C#,Winforms,Events,Click,有没有办法改变c#中点击事件的“点击框”,这是由点击按钮或其他控件引起的 我使用自定义GUI控件来控制设备。这些控件作为小圆圈工作,既指示当前状态(绿色或黑色),也作为用户可以单击的按钮 问题是,我在设备上使用触摸屏,点击小圆圈并不容易。50%的时间您错过了它,并且控件单击事件未引发 我想在不改变圆圈的视觉大小的情况下改变它,因为我的GUI空间已经有限。所以我想要一个不可见的、可点击的点击框,它只比控件本身稍大一点。有可能吗?创建一个更大的按钮,并执行下面的代码,其中button1是原始按钮,b
我想在不改变圆圈的视觉大小的情况下改变它,因为我的GUI空间已经有限。所以我想要一个不可见的、可点击的点击框,它只比控件本身稍大一点。有可能吗?创建一个更大的按钮,并执行下面的代码,其中button1是原始按钮,button2是更大的按钮
private void button1_Click(object sender, EventArgs e)
{
ShowMessage();
}
private void button2_Click(object sender, EventArgs e)
{
ShowMessage();
}
private void ShowMessage()
{
MessageBox.Show("ok", "ok");
}
将按钮2的文本设置为空白
将FlatStyle
设置为flat
将BorderColor
、MouseDownBackColor
和MouseOverBackColor
设置为BackColor
右键单击按钮2并发送回。在设计
用户控件时使用面板
,然后将可单击的项目放置在面板内,默认情况下面板
将是透明的。您不必为其设置任何其他设置,如果用户单击面板firecontrol1\u,请单击事件
private void control1_Click(object sender, EventArgs e)
{
MessageBox.Show("Test");
}
private void panel1_Click(object sender, EventArgs e)
{
control1_Click(sender, e);
}
谢谢所有的提示!
我最终所做的与Abdul和Active92的答案相似
我为每个按钮创建了一个picturebox,使其比按钮本身大,并将其放置在按钮的“后面”。(右键单击并发送回)。因为我没有添加任何图像,所以图片框是不可见的
在每个picturebox click事件处理程序中,我只触发原始控件的click事件。您可以通过多种方式解决问题,例如:♦ 您可以使用,将FlatStyle
设置为Flat
并使用相同的BackColor
,将FlatAppearance.MouseDownBackColor
和FlatAppearance.MouseOverBackColor
设置为合适的颜色,并为按钮使用所需的图像。♦ 您可以将按钮的区域设置为圆形区域,并将圆画得更小一些。♦ 或者可能是你想用一个。