C# Devexpress ListBoxControl添加具有多种颜色的项目
我正在寻找一种解决方案,在C# Devexpress ListBoxControl添加具有多种颜色的项目,c#,.net,winforms,devexpress,C#,.net,Winforms,Devexpress,我正在寻找一种解决方案,在ListBoxControl中添加一个项,在同一行中添加不同颜色的 例如:“进口公司[X公司]”-我需要灰色的“进口公司”,其余的是黑色的 此外,如果我有错误,我需要(红色) 我找不到(如果存在)添加Html文本的方法 谢谢您可以通过以下属性激活ListBoxControl中的功能: listBoxControl.AllowHtmlDraw = DevExpress.Utils.DefaultBoolean.True; listBoxControl.Items.AddR
ListBoxControl
中添加一个项,在同一行中添加不同颜色的
例如:“进口公司[X公司]”-我需要灰色的“进口公司”,其余的是黑色的
此外,如果我有错误,我需要(红色)
我找不到(如果存在)添加Html
文本的方法
谢谢您可以通过以下属性激活ListBoxControl中的功能:
listBoxControl.AllowHtmlDraw = DevExpress.Utils.DefaultBoolean.True;
listBoxControl.Items.AddRange(new object[] {
"Color <color=Red>Red</color>",
"Color <color=Green>Green</color>",
"Color <color=Blue>Blue</color>"
});
listBoxControl.AllowHtmlDraw=DevExpress.Utils.DefaultBoolean.True;
listBoxControl.Items.AddRange(新对象[]){
“红色”,
“绿色”,
“蓝色”
});
您可以通过以下属性激活ListBoxControl中的功能:
listBoxControl.AllowHtmlDraw = DevExpress.Utils.DefaultBoolean.True;
listBoxControl.Items.AddRange(new object[] {
"Color <color=Red>Red</color>",
"Color <color=Green>Green</color>",
"Color <color=Blue>Blue</color>"
});
listBoxControl.AllowHtmlDraw=DevExpress.Utils.DefaultBoolean.True;
listBoxControl.Items.AddRange(新对象[]){
“红色”,
“绿色”,
“蓝色”
});
另一种方法是使用如下方法实现列表框的DrawItem
事件:
internal static void DrawListBox(object sender, DevExpress.XtraEditors.ListBoxDrawItemEventArgs e)
{
e.Cache.DrawString(e.Item.ToString(), e.Appearance.Font, new SolidBrush(Color.White),
e.Bounds, e.Appearance.GetStringFormat());
e.Handled = true;
}
在这种情况下,所有项目都以颜色.White
绘制
当然,您可以通过ListBoxDrawItemEventArgs
中包含的属性测试您的值。另一种方法是使用如下方法实现ListBox
的DrawItem
事件:
internal static void DrawListBox(object sender, DevExpress.XtraEditors.ListBoxDrawItemEventArgs e)
{
e.Cache.DrawString(e.Item.ToString(), e.Appearance.Font, new SolidBrush(Color.White),
e.Bounds, e.Appearance.GetStringFormat());
e.Handled = true;
}
在这种情况下,所有项目都以颜色.White
绘制
当然,您可以通过ListBoxDrawItemEventArgs
中包含的属性来测试您的值,并且如何在列表中有两种颜色(一种用于信息,一种用于错误)?我所做的是在开始时输入项目“警告”、“信息”和“错误”,然后输入类似if的内容(例如Item.ToString().BeginsWith(“信息”)){//Coloring}e.Item.ToString().Remove(0,4)
。希望能有帮助!没关系,没有测试过,但是DmitryG的响应更好,你可以根据自己的喜好创建行,选择颜色、字体大小等。无论如何,谢谢你和+1,我怎么能在列表中有两种颜色(一种用于信息,一种用于错误)?我要做的是在项目中添加“警告”,开始时是“Info”和“Error”,然后是类似于if(e.Item.ToString().BeginsWith(“Info”){//Coloring}e.Item.ToString().Remove(0,4)
。希望有帮助!没关系,没有测试它,但DmitryG的响应更好,您可以根据自己的喜好创建行,选择颜色、字体大小等。总之,谢谢,+1