2016-10-22 69 views
0

所以我正在爲我的一個朋友做一個應用程序。這個應用程序包含一個winforms列表框。列表框包含推文。一切正常,但問題是推文的長度。當推文太長時,列表框會將部分剪掉。例如:Visual Studio列表框文本太長

tweetListBox:

Thow啾啾:jalskjdkljasdljlasjkdlasjdlkjaslkjaskljdlasjkd ...

它增加點當文本太長。我無法調整列表框的大小,因爲那太大了。有沒有辦法讓大於100像素的文本分成不同的行?

+0

你使用什麼框架? 'WinForms'或'WPF'? –

+0

你需要更具體。這是一個WPF列表框嗎?的WinForms? HTML嗎? –

+0

我使用的WinForms框架 – Thow

回答

1

如果你不需要一個ListBox的選擇功能,你可以切換到多線行文本框。使用常規文本框並設置多行屬性= true。將控件拉伸到適當的大小以匹配ListBox的大小。使用以下內容添加新的推文:

multiLineTweetBox.Append(newTweet + Environment.NewLine); 
+0

這個解決方案有一個問題。因爲我附加了文本框,它會滾動到底部。我想讓文本框滾動位置保持在頂部,或者在推文加載完成後進入頂部。有沒有辦法做到這一點? – Thow

+0

@你可以使用'multiLineTweetBox.Text + = newTweet + Environment.NewLine'添加文本。這樣,它應該停留在頂部。 – waka

+0

工程就像一個魅力!感謝Waka和ddrjca! – Thow

0

僅僅設置一個像WordWrap = true這樣的屬性是不可能的,它根本不存在。已經被賦予了在計算器上這裏的一個解決方案:

Winforms DotNet ListBox items to word wrap if content string width is bigger than ListBox width?

+0

該方法使列表框的drawmode爲ownerDrawVariable。如果我這樣做,它不會再畫任何東西。有更好的方法嗎? – Thow

+0

根據提供的解決方案的迴應,它應該工作。您可以創建自己的用戶控件。 – Bouke