4

私はグループ間のある種の線か何かを考えていました。アイテムをグループに分ける方法はありますか?それらを着色することはオプションですが、それはただ見栄えが悪いでしょう。

4

3 に答える 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 に答える