문제

How to change the back color of the tool strip split button in windows forms application. Back color property not working.. This the code in designer class..

        this.level.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
        this.level.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
        this.level.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
        this.autoToolStripMenuItem1,
        this.loadToolStripMenuItem1});
        this.level.Image = global::PACS.Properties.Resources.winlevel;
        this.level.ImageTransparentColor = System.Drawing.Color.Red;
        this.level.Margin = new System.Windows.Forms.Padding(1, 1, 1, 2);
        this.level.Name = "level";
        this.level.Size = new System.Drawing.Size(53, 43);
        this.level.Text = "Level";
        this.level.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay;
        this.level.Paint += new System.Windows.Forms.PaintEventHandler(this.Window_level_Paint);
        this.level.Click += new System.EventHandler(this.Window_level_Click);
도움이 되었습니까?

해결책

It's BackColor property did not work by default: Accorthing this (ToolStripSplitButton BackColor does not work), follow these two steps:

1) Set BackgroundImage to a valid image. It does not matter what. I use a 1 pixel x 1 pixel BMP as local resource.

2) Set BackgroundImageLayout to None. This is why it does not matter what image you use above.

Result:

enter image description here

다른 팁

You can use a custom renderer for the toolstrip, you can found a sample in this answer for a similar question.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top