中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c# Menu和ContextMenu自定義風格簡單實現

發布時間:2020-06-29 18:42:33 來源:網絡 閱讀:961 作者:tancfeng 欄目:編程語言

為了實現自定義的Menu和ContextMenu效果,可以通過派生ProfessionalColorTable類,在自定義類中通過重寫ProfessionalColorTable類的相關屬性,產生自定義菜單效果。

using System.Drawing;
using System.Windows.Forms;

public class CustomToolStripColorTable : ProfessionalColorTable
{
    /// <summary>
    /// 主菜單項被點擊后,展開的下拉菜單面板的邊框
    /// </summary>
    public override Color MenuBorder
    {
        get
        {
            return Color.FromArgb(37, 37, 37);
        }
    }
    /// <summary>
    /// 鼠標移動到菜單項(主菜單及下拉菜單)時,下拉菜單項的邊框
    /// </summary>
    public override Color MenuItemBorder
    {
        get
        {
            return Color.Transparent;
        }
    }
    #region 頂級菜單被選中背景顏色
    public override Color MenuItemSelectedGradientBegin
    {
        get
        {
            return Color.FromArgb(37, 37, 37);
        }
    }
    public override Color MenuItemSelectedGradientEnd
    {
        get
        {
            return Color.FromArgb(37, 37, 37);
        }
    }
    #endregion
    #region 頂級菜單被按下是,菜單項背景色
    public override Color MenuItemPressedGradientBegin
    {
        get
        {
            return Color.Black;
        }
    }
    public override Color MenuItemPressedGradientMiddle
    {
        get
        {
            return Color.FromArgb(37, 37, 37);
        }
    }
    public override Color MenuItemPressedGradientEnd
    {
        get
        {
            return Color.Black;
        }
    }
    #endregion
    /// <summary>
    /// 菜單項被選中時的顏色
    /// </summary>
    public override Color MenuItemSelected
    {
        get
        {
            return Color.FromArgb(37, 37, 37);
        }
    }
    #region 下拉菜單面板背景設置(不包括下拉菜單項)
    //下拉菜單面板背景一共分為2個部分,左邊為圖像區域,右側為文本區域,需要分別設置
    //ToolStripDropDownBackground設置文本部分的背景色
    public override Color ToolStripDropDownBackground
    {
        get
        {
            return Color.Black;
        }
    }
    //以ImageMarginGradient開頭的3個設置的是圖像部分的背景色,begin->end是從左到右的順序
    public override Color ImageMarginGradientBegin
    {
        get
        {
            return Color.Black;
        }
    }
    public override Color ImageMarginGradientMiddle
    {
        get
        {
            return Color.Black;
        }
    }
    public override Color ImageMarginGradientEnd
    {
        get
        {
            return Color.Black;
        }
    }
    #endregion
}

然后對需要實現自定義風格的菜單(如:contextMenuStrip1)應用如下代碼:

 contextMenuStrip1.RenderMode = ToolStripRenderMode.Professional;
            contextMenuStrip1.Renderer = new ToolStripProfessionalRenderer(new CustomToolStripColorTable());

1.菜單項點擊之后,整個菜單項及下拉菜單項邊框的顏色

       publicoverrideColor MenuBorder

        {

            get

            {

                returnColor.Red;

            }

        }

                             c# Menu和ContextMenu自定義風格簡單實現

2.鼠標移動到菜單項上,菜單項邊框的顏色(包括下拉菜單項)

        publicoverrideColor MenuItemBorder

        {

            get

            {

                returnColor.Red;

            }

        }

  

c# Menu和ContextMenu自定義風格簡單實現

c# Menu和ContextMenu自定義風格簡單實現


3、菜單項被按下時,菜單項背景漸變開始的顏色

        publicoverrideColor MenuItemPressedGradientBegin

        {

            get

            {

                returnColor.Red;

            }

        }

c# Menu和ContextMenu自定義風格簡單實現

4.菜單項被按下時,菜單項背景漸變結束的顏色

        publicoverrideColor MenuItemPressedGradientEnd

        {

            get

            {

                returnColor.Red;

            }

        }

c# Menu和ContextMenu自定義風格簡單實現

5、下拉菜單被選中的顏色

        publicoverrideColor MenuItemSelected

        {

            get

            {

                returnColor.Red;

            }

        }

c# Menu和ContextMenu自定義風格簡單實現

6、主菜單項被選中(而非按下),漸變開始的顏色

        publicoverrideColor MenuItemSelectedGradientBegin

        {

            get

            {

                returnColor.Red;

            }

        }

c# Menu和ContextMenu自定義風格簡單實現

7、主菜單欄漸變開始的顏色

        publicoverrideColor MenuStripGradientBegin

        {

            get

            {

                returnColor.Red;

            }

        }

c# Menu和ContextMenu自定義風格簡單實現

c# Menu和ContextMenu自定義風格簡單實現

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

项城市| 大理市| 通州区| 蒲城县| 长葛市| 重庆市| 仙游县| 兴安县| 吉木乃县| 黑河市| 宾阳县| 南川市| 大方县| 谢通门县| 都江堰市| 临夏市| 鹤峰县| 蓬莱市| 乌拉特后旗| 白山市| 陵水| 小金县| 璧山县| 胶南市| 武汉市| 阜平县| 壤塘县| 耿马| 宜丰县| 湟源县| 禹州市| 普兰县| 河北省| 吉安县| 灵川县| 德钦县| 大化| 陇西县| 石屏县| 博客| 巴楚县|