我有一组三个按钮,分别标记为1,2和3,用于触摸屏应用程序界面。
当用户点击一个时,它应该被“选中”并有一些明显的变化来显示这一点。
当使用平面按钮样式时,我可以使用边框执行此操作,但似乎这不适用于具有默认/ 3d样式的按钮。
我注意到背景颜色可以设置,但这似乎只适用于普通颜色,通常看起来很难看。
有没有办法可以添加像边框这样的东西,或者用另一种方式强调“选中”的3D样式按钮?是否有更好的控制用于此目的适用于触摸屏界面?
答案 0 :(得分:2)
按钮不能指示“已选择”状态,它只能有焦点。这在触摸屏应用程序中没用。
你想要的是一个CheckBox。这也支持看起来像一个按钮,将其Appearance属性设置为Button。您可以通过修改FlatStyle属性来进一步修改它的外观。例如,通过将其设置为Popup,它会在检查时获取3D外观。
答案 1 :(得分:1)
好吧,我可以使用:
添加插入边框class BorderButton : Button
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawRectangle(new Pen(Color.Black, 6), this.DisplayRectangle);
}
}
然而,看起来油漆事件不能在按钮的边界之外绘制,因此使用这种技术是不可能的。
答案 2 :(得分:0)
我遇到了同样的问题,现在总是使用标签代替。通过这种方式,您可以捕获on_click或mousedown事件并应用背景颜色或图像,就像它是一个按钮一样。