2017-09-22 160 views
1

我在C#Windows窗體窗體上有一個按鈕,並且想要顯示一個圖像和一些文本,並排顯示,並居中顯示在按鈕上。我嘗試將圖像對齊左邊,文本右邊,我得到這個(期間是空格):c#按鈕上的圖像和文本,居中在按鈕中?

| [IMAGE} ............ .....文|

但我想這一點:

| ........ [IMAGE]文本........ |

我的代碼如下所示:

btnChangeStatus.Text = "Change status to SUPPRESSED"; 
btnChangeStatus.TextAlign = ContentAlignment.MiddleRight; 

btnChangeStatus.Image=Image.FromFile(@"J:\nomail.gif"); 
btnChangeStatus.ImageAlign = ContentAlignment.MiddleLeft; 

我已經在這裏搜查,發現了大量的工具和Java或HTML,但沒有爲C#。有任何想法嗎?

謝謝!

+1

這是winforms,ASP.NET,WPF還是什麼?請澄清這一點,並顯示您的代碼。 –

+0

用該信息編輯。謝謝。 – John

+0

那麼winforms呢?請適當地標記問題。習慣性地回答winforms問題的人會看winform標籤。如果你的問題沒有被標記爲winforms,其中一些永遠不會看到它。 –

回答

2

設置TextImageRelationTextImageRelation.ImageBeforeText

btnChangeStatus.TextImageRelation = TextImageRelation.ImageBeforeText; 
btnChangeStatus.TextAlign = ContentAlignment.MiddleCenter;   
btnChangeStatus.ImageAlign = ContentAlignment.MiddleCenter; 

指定圖像控件的文本前水平顯示。


UPDATE:你是對的,儘管這聽起來像這應該做你想做的,它仍然是一個小到左邊。
我試着周圍一點點,使用

btnChangeStatus.TextImageRelation = TextImageRelation.ImageBeforeText; 
btnChangeStatus.TextAlign = ContentAlignment.MiddleRight; // <- right here 
btnChangeStatus.ImageAlign = ContentAlignment.MiddleCenter; 

導致期望的結果,但我不知道爲什麼按鈕的行爲就像這一點。

+0

這讓我更加接近,但圖像/文字仍然偏左。 – John

+0

@John你是對的,更新我的答案與我的作品,雖然我不知道這個奇怪的行爲的原因 –