我在考虑组之间的某种界限之类的。有什么方法可以将项目分成组吗?给它们上色是一种选择,但它看起来会很糟糕。
问问题
3056 次
3 回答
1
您可以在组合框中插入分隔项。您可以使用显示空字符串、短划线等的项目。不幸的是,这在使用 WinForms 时通常并不容易。如果您使用的是 WPF,则可以更优雅地执行此操作。
于 2012-04-26T14:49:35.753 回答
1
所有者自己绘制很简单。派生组合,设置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);
}
于 2012-04-26T18:13:14.687 回答
0
我认为您可以覆盖元素的可视化,但这是一个复杂的解决方案。或者您可以手动插入线条(空心项目),然后您处理选择,如果它们被选中则恢复。
我认为没有任何默认解决方案。
于 2012-04-26T14:44:57.800 回答