我在考虑群体之间的某种界限。有没有办法将项目分成几组?着色它们是一种选择,但它看起来会很糟糕。
答案 0 :(得分:2)
拥有者绘制自己的东西很简单。导出组合,设置DrawMode = OwnerDrawFixed
并渲染项目:
protected override void OnDrawItem(DrawItemEventArgs e)
{
e.DrawBackground();
if( e.State == DrawItemState.Focus )
e.DrawFocusRectangle();
var item = this.Items[e.Index];
using(var brush = new SolidBrush(e.ForeColor))
{
e.Graphics.DrawString(item.ToString(), e.Font, brush, e.Bounds);
}
e.Graphics.DrawLine(SystemPens.ControlText, e.Bounds.X, e.Bounds.Y, e.Bounds.Right, e.Bounds.Y);
base.OnDrawItem(e);
}
答案 1 :(得分:0)
我认为你可以覆盖元素的可视化,但这是一个复杂的解决方案。或者,您可以手动插入线条(空心项目),然后处理选择,如果选择它们则还原。
我认为没有任何默认解决方案。
答案 2 :(得分:0)
您可以在分组框中插入分隔符项。您可以使用显示空字符串,短划线等的项目。不幸的是,使用WinForms时通常不容易。如果你使用WPF,你可以更优雅地做到这一点。