[英]How can I add a border, or otherwise emphasize a 3d-styled button?
我有一組標有1,2和3的三個按鈕,用於觸摸屏應用程序界面。
當用戶點擊一個時,它應該被“選中”並有一些明顯的變化來顯示這一點。
當使用平面按鈕樣式時,我可以使用邊框執行此操作,但似乎這不適用於具有默認/ 3d樣式的按鈕。
我注意到背景顏色可以設置,但這似乎只適用於普通顏色,通常看起來很難看。
有沒有辦法可以添加像邊框這樣的東西或者以另一種方式強調“選中”的3D樣式按鈕? 是否有更好的控制用於此目的適用於觸摸屏界面?
按鈕不能指示“已選擇”狀態,它只能具有焦點。 哪個在觸摸屏應用程序中沒用。
你想要的是一個CheckBox。 這也支持看起來像一個按鈕,將其Appearance屬性設置為Button。 您可以通過修改FlatStyle屬性來進一步修改它的外觀。 例如,通過將其設置為Popup,它會在選中時獲取3D外觀。
好吧,我能夠使用以下方法添加插入邊框:
class BorderButton : Button
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawRectangle(new Pen(Color.Black, 6), this.DisplayRectangle);
}
}
然而,看起來油漆事件不能在按鈕的邊界之外繪制,因此使用這種技術是不可能的。
我遇到了同樣的問題,現在總是使用標簽代替。 這樣,您可以捕獲on_click或mousedown事件並應用背景顏色或圖像,就像它是一個按鈕一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.