2014-01-24 52 views
1

我正在使用vb.net winform應用程序。 默認情況下,按鈕上的文本會在一小段空間後啓動。我需要從邊界本身開始文本,沒有任何空間。另外我想通過添加一些縮進值來控制間距。自定義按鈕文字外觀

但是沒有按鈕屬性來控制它。你可以請建議一些方法來實現這一點。以下是展示要求的圖片。

enter image description here

按鈕1所代表的文本如何出現在默認情況下。而按鈕2是要實現的輸出。

回答

3

您需要處理按鈕的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屬性:

enter image description here

按鈕UI的輸出:

enter image description here

0

我建議你使用圖像,而不是使用文本。將圖像設置爲按鈕背景圖像或簡單按鈕圖像,然後您可以使用對齊屬性將文本移動到任何角落。

+1

我需要使用文本將會有1000多個按鈕全部結束並且它不會有理想的文字背景圖像。另外,爲了改變字體,我們必須替換圖像。不是一個好主意。 – Harsh

+0

請在這篇文章中有一個戰利品。 http://msdn.microsoft.com/en-us/library/ms751709%28v=vs.110%29.aspx – ZahidKakar

+0

這是WPF按鈕控制:( – Harsh

-1

沒有必要駕駛自己的班上有在C#中的Button類的屬性和VB都..

enter image description here

VB

Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft 

C#

this.button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; 

快樂編碼和共享.. :)

+0

@Harsh 如果其工作,接受的答案,以便其他當他們需要時,人們可以找到它的用處。 –

+0

我認爲OP已經知道這一點......但是如果仔細閱讀了這個問題,您會發現這並不能解決問題,因爲邊界和文本之間有空格 – SysDragon

+0

他需要創建自己的按鈕類,可以通過在文本的位置使用按鈕中的圖像圖標,或使用現有的類創建自定義按鈕.. –