0

我需要重新設計舊窗體窗體應用程序。所以我決定創建一個自定義按鈕控件。如何停止Visual Studio 2017更新設計器文件?

比方說,我定義了一個背景色爲該自定義按鈕的紅色。當我這樣做:

  • 地方該按鈕的窗體上的任何其他控制的
  • 編輯屬性
  • 保存項目

Visual Studio將自動更新設計文件,並追加:

this.btnCustom.BackColor = System.Drawing.Color.Red;

我不希望發生這種情況。這應該只在CustomButton類中編碼,而不在設計器文件中編碼。如果我決定將按鈕顏色更改爲藍色,這將是大問題。然後,而不是僅在CustomButton類中更改顏色,我將不得不爲每個按鈕手動更改顏色。有什麼辦法可以防止這種情況發生?

+0

看到這個https://stackoverflow.com/questions/9731363/how-to-set-design-time-property-default-values – vasek

+0

@vaske謝謝你,但我仍然無法使它的工作。我嘗試了一切從該鏈接... – zoran

回答

1

如果您CustomControl代碼是這樣的:如果您稍後改變CustomControl

 // 
     // userControl11 
     // 
     this.userControl11.Location = new System.Drawing.Point(67, 131); 
     this.userControl11.Name = "userControl11"; 
     this.userControl11.Size = new System.Drawing.Size(154, 37); 
     this.userControl11.TabIndex = 2; 

所以:

public partial class UserControl1 : UserControl 
{ 
    public UserControl1() 
    { 
     InitializeComponent(); 
    } 

    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 
    public override Color BackColor 
    { 
     get 
     { 
      return Color.Red; 
     } 
    } 
} 

然後,當放在表格,設計師沒有爲BackgroundColor產生二傳手,在任何地方使用都會改變。

+0

我怎樣才能使用這個不能被覆蓋的領域?例如,在AutoSizeMode – zoran

+0

上https://stackoverflow.com/questions/1528371/hiding-unwanted-properties-in-custom-controls – vasek

相關問題