我有一個ToolStripButton,CheckOnClick屬性設置爲true。當它被點擊時,Checked屬性變爲true,並且圍繞該按鈕出現藍色邊框,並且只要處於選中狀態,它就會一直保持在那裏。我想刪除此邊框,因爲我自己更改背景顏色以指示該按鈕已被選中。我怎麼能這樣做?我試着用ToolStripRenderer,但是我找不到方法。如何刪除ToolStripButton的勾選藍色矩形
回答
實施你自己的ToolStripRenderer
應該給你你要找的。我對使用這些技術並不熟悉,但我能夠通過以下實現獲得我相信您正在尋找的功能。
Public Class BorderlessToolStripRenderer
Inherits Windows.Forms.ToolStripProfessionalRenderer
Protected Overrides Sub OnRenderButtonBackground(e As System.Windows.Forms.ToolStripItemRenderEventArgs)
Dim button = TryCast(e.Item, ToolStripButton)
If (button IsNot Nothing AndAlso button.Checked) Then
e.Graphics.Clear(Color.Yellow)
Else
MyBase.OnRenderButtonBackground(e)
End If
End Sub
End Class
我假設你正在使用ToolStripProfessionalRenderer
,所以我繼承了一個,只是省略了標準的背景渲染時按鈕處於選中狀態。這將鼠標懸停在指示器上,但在選中時忽略邊框,而是呈現黃色背景。
和當然,要使用這個類,你只需要設置Renderer
財產上的ToolStrip
這樣
Me.ToolStrip1.Renderer = New BorderlessToolStripRenderer()
謝謝傑森!它的工作,但現在我有一個新的瘋狂的問題。 Graphcis.Clear方法只適用於預定義的系統顏色(至少在文檔中有說明),但我想將背景顏色設置爲Color.FromArgb(227,227,227)(這是一個要求),這使得看起來像按鈕像按下3D效果。 Color結構中沒有預定義的常量接近該顏色。我只是簡單地想用沒有藍色邊框的顏色設置背景,但是它顯示爲一個巨人的作品;) – DanielB
最後,我將CheckOnClick設置爲false,並在派生類中創建了自己的Shadows Checked屬性。 – DanielB
嘿丹尼爾。聽起來你已經有了一個適合你的解決方案,但你也知道,用e.Graphics.Clear(Color.FromArgb(227,227,227))代替clear調用應該可以正常工作。我試過了,它工作。 –
- 1. 刪除選定的矩形
- 2. toolstripbutton刪除照明
- 3. WPF如何在MouseOver上隱藏ComboBoxItem BorderBrush? (藍色選擇矩形)
- 4. 刪除選定的背景(藍色)
- 5. 刪除藍色分辨率選擇條
- 6. Fancytree選中時刪除藍色邊框
- 7. SKHeading藍色三角形:如何刪除/編輯SKHeading trianfle標頭
- 8. Android,FragmentTabHost - 如何刪除藍色?
- 9. 如何刪除對話框中的黑色矩形框?
- 10. Android imagebutton:如何刪除圖像周圍的彩色矩形?
- 11. wxpython - 如何刪除由statictext製成的灰色矩形
- 12. 灰色的文本框除非勾選勾選
- 13. 矩形刪除面
- 14. 刪除fillRect矩形
- 15. 藍色矩形UIStepper自定義結果
- 16. 刪除圖像的藍色和綠色
- 17. 從JTabbedPane中刪除藍色
- 18. 刪除藍色輪廓
- 19. 如何在TreeViewItem中刪除此藍色選擇背景?
- 20. 如何擺脫閃存組件的藍色焦點矩形?
- 21. 如何從矩形數組中刪除隨機矩形?
- 22. 如何刪除背景矩形?
- 23. 如何在勾選時刪除複選框?
- 24. 使用刪除刪除矩形矩陣中的行和列
- 25. 使用.NET刪除矩形?
- 26. 刪除一個矩形類
- 27. 刪除拖放矩形
- 28. 如何內紅色矩形
- 29. 如何刪除複選框中的複選框(安卓)周圍的矩形
- 30. 刪除UIVIew的背景 - 刪除矩形形狀
將焦點移到另一個控件/或點擊事件的形式。 – OneFineDay
感謝您的回答,但它不起作用。我有幾個這樣的按鈕,並且所有那些將其屬性Checked設置爲true的邊界出現,無論焦點在哪裏。 – DanielB