我用一個TextBox接受一個單詞並搜索一堆句子來查看它們是否包含該單詞,然後我必須出現這些句子並突出顯示該單詞。我的計劃是製作一個ListBox並在其中添加句子。我的問題是如何突出這個詞(通過改變我想的顏色),以便可以區分它。如何更改列表框中的單詞的顏色
有沒有更好的方法? 我選擇了ListBox,所以我可以選擇我正在尋找的句子。
編輯
根據@Thorsten迪特馬方向上創建所有者繪製的列表框。
public partial class Form1 : Form
{
private List<string> _items;
public Form1()
{
InitializeComponent();
_items = new List<string>();
_items.Add("One");
_items.Add("Two");
_items.Add("Three");
listBox1.DataSource = _items;
}
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(_items[e.Index],
new Font(FontFamily.GenericSansSerif,
8, FontStyle.Bold),
new SolidBrush(Color.Red), e.Bounds);
}
}
我如何分割句子以便只繪製一個單詞?
EDIT2
的方式我終於做到了就是讓兩個單獨的部件,以compine我的選擇。 一個是用彩色的所有句子和選項ListBox
選擇一個 這些和其他一個RichBox
設有獨立的彩色的話,因爲是很難 以實現與ListBox
(對我來說是最少)。
我完成這個的方式是使用布爾數組指出每個句子應該爲哪個詞應該着色 。
for (int i = 0; i < words.Length; i++)
{
if (segments[i]) //<-boolean array
{
rich.SelectionColor = Color.Red;
rich.AppendText(words[i] + " ");
rich.SelectionColor = Color.Black;
}
else
{
rich.AppendText(words[i] + " ");
}
}
我們在說winforms?只是確保。 –
@Baboon一個'窗口系統窗體' –
你可能想看看[這個](http://stackoverflow.com/questions/91747/background-color-of-a-listbox-item-winforms)。 –