[英]C# WinForm Stop control property setting to default when it is set to be a value which is also the default
通過一個示例可以最好地說明問題:我有一個UserControl,其默認邊距為0,但是我有一個控件的實例,它的邊距為3。我可以將控件的邊距設置為2、4。 10或除3以外的任何其他值-但由於3是winforms中頁邊距的默認值-Visual Studio假定我正在嘗試重置控件以繼承默認值。 通過使屬性變為粗體,這是顯而易見的:
但是,當我將其設置為3時,Visual Studio假定我想將值“重置”為其默認值(請注意,屬性文本不再以粗體顯示):
不幸的是,對於此UserControl,默認值實際上是0-因此將其設置為3實際上會在運行時將邊距設置為0。 我需要將值設置為3,就像使用其他任何整數一樣
您需要覆蓋用戶控件的DefaultMargin
屬性:
protected override Padding DefaultMargin
{
get { return new Padding(0); }
}
該屬性的默認值來自CommonProperties.DefaultMargin
,它是內部的,是Padding(3)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.