我希望能够用水平线分隔列表框中的每个项目。
这只是我绘制这些项目的代码的一部分。
private void symptomsList_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
bool selected = ((e.State & DrawItemState.Selected) == DrawItemState.Selected);
int index = e.Index;
Graphics g = e.Graphics;
Color color;
if (selected == true)
{
color = Color.Red;
}
else
{
color = Color.Pink;
}
/* Draw Background */
g.FillRectangle(new SolidBrush(color), e.Bounds);
/* Draw Item Text */
g.DrawString(symptomsList.Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}发布于 2012-04-07 14:04:57
在FillRectangle(...)之后,使用以下命令:
Color borderColor = Color.Black;
g.DrawRectangle(new Pen(borderColor), e.Bounds);发布于 2020-04-29 10:00:10
//在InitializeComponent()后添加此行;symptomsList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
https://stackoverflow.com/questions/10051781
复制相似问题