【发布时间】:2011-01-17 19:54:36
【问题描述】:
我想要一些方法使给定的单词加粗(列表框中每个项目的前两个字符),没有别的,像这样:
01汽车
02房子
03市场
至于这三个,作为列表框控件中的项目,总是前两个字符,其余的不应该是粗体。
有什么实用的方法吗?
数据:
- Visual Studio 2008
- .NET 3.5
请求:
private void lstMaster_DrawItem(object sender, DrawItemEventArgs e)
{
//TEST
e.DrawBackground();
Brush myBrush = Brushes.Black;
Pen pen = new Pen(myBrush);
e.Graphics.DrawRectangle(pen, 0, 0, 10, 10); //BREAKPOINT HERE
e.Graphics.DrawString("aaa" + lstMaster.Items[e.Index].ToString(),
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
它只是保持不变,没有矩形,没有“AAA”,或者没有达到断点的正方形......
【问题讨论】:
-
您需要将 Listbox 的 DrawMode 属性设置为 OwnerDrawn。请检查我的答案
标签: c# .net winforms formatting listbox