Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改下拉菜单列表项“方形”_C#_Winforms_Menustrip - Fatal编程技术网

C# 更改下拉菜单列表项“方形”

C# 更改下拉菜单列表项“方形”,c#,winforms,menustrip,C#,Winforms,Menustrip,我可以找到一个合适的名字和短语来解释,下面是一张图片: 我想将上面红色圆圈中的白色区域更改为所需的颜色。我使用以下代码更改其他颜色: 在形式上: menuStrip1.Renderer = new ToolStripProfessionalRenderer(new MenuStripColorTable()); 班级: class MenuStripColorTable : ProfessionalColorTable { private Color backColor = (Col

我可以找到一个合适的名字和短语来解释,下面是一张图片:

我想将上面红色圆圈中的白色区域更改为所需的颜色。我使用以下代码更改其他颜色:

在形式上:

menuStrip1.Renderer = new ToolStripProfessionalRenderer(new MenuStripColorTable());
班级:

class MenuStripColorTable : ProfessionalColorTable
{
    private Color backColor = (Color) new ColorConverter().ConvertFromString("#333333");

    //menu item background en border
    public override Color MenuItemBorder
    {  
        get{ return Color.White; }
    }

    public override Color MenuStripGradientBegin
    {
        get { return backColor; }
    }
    ....

知道我应该覆盖或更改什么吗?

通过添加以下代码,我成功地使白色方块透明:

menustrip的呈现类:

public override Color ImageMarginGradientBegin
{
   get { return Color.Transparent; }
}
public override Color ImageMarginGradientMiddle
{
   get { return Color.Transparent; }
}
public override Color ImageMarginGradientEnd
{
   get { return Color.Transparent; }
}

尽管文本没有向左对齐。但这不是什么大问题。也要归功于弗兰克

这是菜单项的o部分。它是图标的图片框的位置。希望这能帮你找到它。在WPF中,它也是菜单项的一部分。啊哈,我将图像渐变属性重写为transparant,这就完成了工作。谢谢只需将其标记为正确答案并关闭踏板,这将有助于其他人。我不能选择我自己的答案作为最佳答案,我必须先等待2天