Как изменить цвет спины кнопки разделения полосы инструмента в форме окна C#
Как изменить задний цвет кнопки разбивки инструментальной полосы в окнах приложений. Заднее свойство цвета не работает.. Это код в классе дизайнера..
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);
2 ответа
Решение
Это свойство BackColor не работает по умолчанию: в соответствии с этим ( ToolStripSplitButton BackColor не работает) выполните следующие два шага:
1) Установите BackgroundImage на правильное изображение. Неважно, что. Я использую 1 пиксель х 1 пиксель BMP в качестве локального ресурса.
2) Установите BackgroundImageLayout в None. Вот почему не имеет значения, какое изображение вы используете выше.
Результат:
Вы можете использовать собственный рендер для toolstrip
Вы можете найти образец в этом ответе на аналогичный вопрос.