2014-11-06 67 views
2

如何在C#或Vb.net中強制控制權從左到右和字體屬性(以及受影響的其他屬性)不受其容器影響?如何避免容器受到左右財產的控制

例如,當我把一個文本框放到它的字體是「字體A」的面板中時,文本框的字體屬性字體變成了「字體A」。我怎樣才能避免這種情況?

+0

坐落在文本框中特定的字體。 – 2014-11-06 12:23:29

+0

從左到右的財產怎麼樣?如果我設計一個繼承的控件會怎麼樣? – n3verLieMe 2014-11-06 12:25:31

+1

也明確設置從右到左的屬性。如果未明確設置,控件將繼承一些屬性值(通過環境屬性)。就是那樣子。如果您正在設計自己的控件,則可以在設計屬性上使用[DefaultValue]屬性來覆蓋默認值。我認爲。 – 2014-11-06 12:28:14

回答

2

要覆蓋屬性(所以它的價值不是默認爲控制型,而不是從父母莫名其妙地採取了),你可以做以下

[System.ComponentModel.DesignerCategory("Code")] 
public class MyLabel : Label 
{ 
    [DefaultValue(true)] 
    public new bool AutoSize 
    { 
     get { return base.AutoSize; } 
     set { base.AutoSize = value; } 
    } 

    public MyLabel() 
    { 
     AutoSize = true; 
    } 
} 
+0

MyLabel做了什麼?當它被稱爲? – n3verLieMe 2014-11-06 12:41:08

+0

它workerd。謝謝 – n3verLieMe 2014-11-06 12:44:36