我正在使用vb.net winform應用程序。 默認情況下,按鈕上的文本會在一小段空間後啓動。我需要從邊界本身開始文本,沒有任何空間。另外我想通過添加一些縮進值來控制間距。自定義按鈕文字外觀
但是沒有按鈕屬性來控制它。你可以請建議一些方法來實現這一點。以下是展示要求的圖片。
按鈕1所代表的文本如何出現在默認情況下。而按鈕2是要實現的輸出。
我正在使用vb.net winform應用程序。 默認情況下,按鈕上的文本會在一小段空間後啓動。我需要從邊界本身開始文本,沒有任何空間。另外我想通過添加一些縮進值來控制間距。自定義按鈕文字外觀
但是沒有按鈕屬性來控制它。你可以請建議一些方法來實現這一點。以下是展示要求的圖片。
按鈕1所代表的文本如何出現在默認情況下。而按鈕2是要實現的輸出。
您需要處理按鈕的Paint事件以在Button上繪製字符串。
像:
Private Sub Button1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint
Button1.Text = String.Empty
e.Graphics.DrawString("Test", Button1.Font, Brushes.Black, New Point(0, 5))
End Sub
,並設置的FlatStyle,邊框顏色,BorderSize屬性:
按鈕UI的輸出:
我建議你使用圖像,而不是使用文本。將圖像設置爲按鈕背景圖像或簡單按鈕圖像,然後您可以使用對齊屬性將文本移動到任何角落。
那樣的定製,你將需要創建一個自定義的winforms控件。
檢查這個CP文章http://www.codeproject.com/Articles/4871/Divider-Panel-A-tutorial-on-creating-a-custom-Wind
沒有必要駕駛自己的班上有在C#中的Button類的屬性和VB都..
VB
Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
C#
this.button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
快樂編碼和共享.. :)
@Harsh 如果其工作,接受的答案,以便其他當他們需要時,人們可以找到它的用處。 –
我認爲OP已經知道這一點......但是如果仔細閱讀了這個問題,您會發現這並不能解決問題,因爲邊界和文本之間有空格 – SysDragon
他需要創建自己的按鈕類,可以通過在文本的位置使用按鈕中的圖像圖標,或使用現有的類創建自定義按鈕.. –
我需要使用文本將會有1000多個按鈕全部結束並且它不會有理想的文字背景圖像。另外,爲了改變字體,我們必須替換圖像。不是一個好主意。 – Harsh
請在這篇文章中有一個戰利品。 http://msdn.microsoft.com/en-us/library/ms751709%28v=vs.110%29.aspx – ZahidKakar
這是WPF按鈕控制:( – Harsh