1

C# の Winforms にドロップダウン メニューを用意し、メニュー項目の間にテキスト ラベルを配置したいと考えています。セパレーターと非常によく似ています。基本的に、メニュー項目をグループ化するオプションを検討しています。

どうすればそれを達成できるか考えていますか? 添付したいのはドロップダウンメニューです。 ここに画像の説明を入力

4

3 に答える 3

2

VS2010を使用していることを願っています

メニュー デザイナーで、区切りバーが必要な場所を右クリックし、[変換] -> [区切り] を選択します。

ここに画像の説明を入力


メニューの機能強化に関する MSDN の記事


これも見てみたいかもしれません(フォームセパレーターについてですが、バージョンはVS2003です!) - Windowsフォームセパレーターコントロール

于 2012-11-01T11:30:50.360 に答える
0

これを行うには多くの複雑な方法があると確信していますが、3つのステップであなたのニーズを満たすかもしれない方法を見つけました:

1.独自のToolStripItemを作成します。

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.All)]
public sealed class CustomToolStripMenuItem : ToolStripMenuItem
{

    public CustomToolStripMenuItem()
    {
        DisplayStyle = ToolStripItemDisplayStyle.Text;
        BackColor = Color.LightSteelBlue;
        ForeColor = Color.MidnightBlue;
        Font = new Font(Font, FontStyle.Bold);
       // Or other options to your liking
     }
}

2.独自のレンダラーを作成します。

public class CustomeRenderer : ToolStripProfessionalRenderer
{

    protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
    {
        if(e.Item is CustomToolStripMenuItem)
        {
            e.Graphics.FillRectangle(Brushes.LightSteelBlue, e.Item.ContentRectangle);
        }
        else
        {
            base.OnRenderMenuItemBackground(e);
        }
    }
}

3.アイテムを使用する:コンテキストメニューには、レンダラーを設定する必要があります。

 RenderMode = ToolStripRenderMode.Professional;
 Renderer = new CustomeRenderer();

コンテキストメニューで、CustomToolStripMenuItemを使用できるようになりました

于 2012-11-01T13:15:12.983 に答える
0

以下のリンクが役立つ場合があります。

Seperator Combo List Vox

于 2012-11-01T10:50:12.017 に答える