Я хочу, чтобы панель, унаследовавшая от базовой панели, имела фиксированный BackColor
независимо от того, где она используется. Моя базовая панель выглядит следующим образом:Как я могу предотвратить изменение свойства BackColor элемента управления?
public class MyPanel
{
public override Color BackColor
{
get
{
return base.BackColor;
}
set
{
base.BackColor = Color.Red;
}
}
}
BackColor
не установлен в Designer.cs
файле примера формы:
this.sampleControl.Font = new System.Drawing.Font("Tahoma", 8.25F,
System.Drawing.FontStyle.Regular,
System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.sampleControl.Location = new System.Drawing.Point(0, 0);
this.sampleControl.Margin = new System.Windows.Forms.Padding(5);
this.sampleControl.Name = "sampleControl";
this.sampleControl.Padding = new System.Windows.Forms.Padding(2, 0, 2, 2);
this.sampleControl.Size = new System.Drawing.Size(230, 100);
this.sampleControl.TabIndex = 1;
На самом деле нет никакого цвета установить в любом месте, так что я полагаю, что это каким-то образом получает свойство с панели, в которую оно помещено. Как я могу предотвратить это?
Что фактический цвет вы видите? – ken2k
Обратный цвет родительского элемента управления, т. Е. Если родительская панель синяя, этот элемент управления также будет синим. – xsl