簡體   English   中英

將C#WinForm Stop控件屬性設置為默認值時將其設置為默認值

[英]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假定我正在嘗試重置控件以繼承默認值。 通過使屬性變為粗體,這是顯而易見的:

設置為5時,這些值為粗體,邊距設置為5: 在此處輸入圖片說明

但是,當我將其設置為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM