在組合框中,如果值包含*標記,我想將該項目文本顏色更改爲不同的顏色。 如果值不包含*我不需要更改該項目的文字顏色。 我該怎麼辦?組合框項目更改字體顏色C#WinForms
1
A
回答
1
下面的代碼,檢查當前SelectedItem
包含* mark
,事件得到每次射出的selectedIndexChanges:如果你想通過對形式的負載ComboBox中的所有項目迭代
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if(ComboBox1.SelectedItem.ToString().Contains("*"))
{
//Change color here
ComboBox1.BackColor = Color.Red;
}
}
,使用下面的代碼,您可以在其中修改每個包含* mark
的項目。
private void Form1_Load(object sender, EventArgs e)
{
foreach(var item in ComboBox1.Items)
{
if(item.ToString().Contains("*"))
{
//Modify item color here
}
}
}
2
您可以通過此
做作出這樣的包含〔實施例兩個屬性
public class Product
{
public string ProductName { get; set; }
public Int32 ProductStatus { get; set; }
}
一類,然後在列表中添加的形式負載
private void Form1_Load(object sender, EventArgs e)
{
List<Product> listPdt = new List<Product>();
Product pdt = new Product();
pdt.ProductName = "Product 1";
pdt.ProductStatus = 1;
listPdt.Add(pdt);
Product pdt1 = new Product();
pdt1.ProductName = "Product 1*";
pdt1.ProductStatus = 1;
listPdt.Add(pdt1);
Product pdt2 = new Product();
pdt2.ProductName = "Product 2";
pdt2.ProductStatus = 1;
listPdt.Add(pdt2);
Product pdt3 = new Product();
pdt3.ProductName = "Product 2*";
pdt3.ProductStatus = 1;
listPdt.Add(pdt3);
comboBox1.DataSource = listPdt;
comboBox1.DisplayMember = "ProductName";
comboBox1.ValueMember = "ProductStatus";
// this will fire combo box's draw event.
comboBox1.DrawMode = DrawMode.OwnerDrawVariable;
}
您的項目現在寫組合框的繪製事件
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
Brush brush = null;
ComboBox combo;
try
{
e.DrawBackground();
combo = (ComboBox)sender;
Product pdt = (Product)combo.Items[e.Index];
if (pdt.ProductName.Contains("*"))
{
brush = Brushes.Red;
}
else
{
brush = Brushes.Black;
}
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
e.Graphics.DrawString(pdt.ProductName, combo.Font, brush, e.Bounds.X, e.Bounds.Y);
}
catch (Exception Ex)
{
}
}
如果您有來自數據庫的列表,然後通過foreach循環將它們添加到列表並填充列表類。
相關問題
- 1. C#:更改列表框項目顏色
- 2. 更改CSS字體顏色UI項目
- 3. 在winforms組合框中顏色個別項目?
- 4. 更改MFC中組合框的項目背景顏色?
- 5. 更改組合框項目的高亮顏色WPF
- 6. 更改WinForms組合框的選擇顏色
- 7. 更改組合框邊框顏色
- 8. 更改delphi中的組合框的字體顏色firemonkey mobile
- 9. 如何更改列表框中項目的字體顏色(wpf)
- 10. 更改DataGridView控件中列的字體顏色(C#winforms)
- 11. 組合框不更新所選項目上的DataBindings更改(WinForms)
- 12. C#組合框顏色
- 13. 字體顏色的組合
- 14. 更改c#winforms中的文本框的邊框顏色 - 新手
- 15. 更改數值的字體顏色C#
- 16. 動態更改WinForms組合框中項目的文本
- 17. 更改字體顏色RTF
- 18. Javascript更改字體顏色
- 19. 更改Emacs字體顏色
- 20. 更改字體顏色
- 21. localStorage更改字體顏色
- 22. 更改字體顏色
- 23. 更改字體顏色javascript
- 24. 將WPF組合框選定的項目顏色設置爲組合框的顏色項目
- 25. 爲組合框中的列表項懸停的字體顏色
- 26. 更改邊框線和字體顏色的顏色
- 27. 當選擇ListView項目時,更改TextView的字體顏色
- 28. 如何更改gridview中的項目的字體顏色(android)
- 29. 更改特定覈對清單項目的字體或顏色?
- 30. C#WPF如何修改組合框的選定項目的顏色?
你在使用wpf嗎?或winforms?或網絡? –
即時通訊使用C#winforms – Tom