2008-09-19 31 views
1

我正在尋找一種方法來控制Winforms中簡單MessageBox的形狀。我想控制傳入文本的位置,以便對話框更窄。 Windows似乎希望在包裝文本之前儘可能地擴大對話框。有沒有簡單的方法來控制對話框的最大寬度,而無需訴諸創建自己的自定義表單?Winforms MessageBox的形狀

回答

4

您可以在文本中嵌入換行符以強制它在特定點處換行。例如

"message text...\nmore text..." 

更新:我發佈,認爲這是一個win32 API的問題,但我認爲原則應該仍然適用。我假設WinForms最終調用MessageBox()。

+0

這應該是Environment.Newline而不是\ n – Brann 2009-04-08 08:26:26

0

如果您在傳遞它的字符串消息中拋出自己的換行符,會發生什麼情況?我很肯定,如果我記得正確的話,這將工作。

0

This,或者創建自己的表單並使用它。

1

這確實只是兩種方式(理智的方式)

1)添加換行符到您的字符串自己限制每一行的lenghth。

2)製作自己的表單並使用它而不是messagebox。

0

\ n換行符將爲您提供足夠的靈活性,然後執行此操作。我使用了很多。例如。如果我發出警告,第一行會給出警告,下一行將給出內部錯誤信息或適當的進一步信息。如果你不這樣做,你會得到一個非常寬的消息框,只有很小的高度!

MessageBox只具有有限的可變性 - 例如。按鈕類型和圖標。如果你需要更多,然後創建你自己的。然後你可以做各種各樣的事情,比如添加網址,幫助按鈕等。