1

我有一组三个标记为 1、2 和 3 的按钮,用于触摸屏应用程序界面。

当用户单击一个时,它应该被“选中”并且有某种明显的变化表明了这一点。

使用平面按钮样式时,我可以使用边框来执行此操作,但是这似乎不适用于具有默认/3d 样式的按钮。

我注意到可以设置背景色,但这似乎只适用于普通颜色,通常看起来很丑陋。

有没有办法可以添加边框之类的东西或以另一种方式强调“选定”的 3d 样式按钮?是否有更好的控制方法可以很好地与触摸屏界面配合使用?

4

3 回答 3

2

按钮不能指示“选中”状态,它只能具有焦点。这在触摸屏应用程序中没有用。

你想要的是一个 CheckBox 。它还支持看起来像一个按钮,将其 Appearance 属性设置为 Button。您可以通过修改 FlatStyle 属性来进一步修改它的外观。例如,通过将其设置为 Popup,它会在选中时获得 3D 外观。

于 2013-05-30T18:39:41.243 回答
1

好吧,我可以使用以下方法添加插入边框:

class BorderButton : Button
{
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        e.Graphics.DrawRectangle(new Pen(Color.Black, 6), this.DisplayRectangle);
    }
}

然而,paint 事件似乎无法在按钮的边界之外绘制,因此使用这种技术不可能一开始就进行绘制。

于 2013-05-30T17:55:22.420 回答
0

我遇到了同样的问题,现在总是使用标签。通过这种方式,您可以捕获 on_click 或 mousedown 事件并应用背景颜色或图像,就好像它是一个按钮一样。

于 2013-05-30T15:30:26.780 回答