2012-07-03 39 views
4

我正在使用visual studio,並有一些numericUpDown控件,我已經爲(min,max,value和increment)設置了值。代碼設計器不斷將我的簡單小數值轉換爲int []。我知道,它說:「請不要修改此方法使用代碼編輯器中的內容」,但我覺得它真的很有用在這裏調整性質,我想我只是「使事情變得整潔」當我改變:我可以停止Visual Studio自動更改表單設計器代碼嗎?

 this.numericUpDown1.Increment = new decimal(2); 

但很可惜,如果我觸及到視覺窗體設計器控制它換了回來。我想也許有一個國旗會讓它保持原樣,直到我希望它被更新。它更多的是可讀性和導航,但即使它只是把它放在一條線上,我會更快樂。

我發現這個(How can I tell Visual Studio to not populate a field in the designer code?)有人試圖離開它,但我不確定它是否適用於這種情況。

隨時告訴我,我應該克服它,讓它獨處!

回答

1

剛剛意識到(感謝@Jonathan),我可以在設計器的上面創建一個單獨的部分,這意味着我可以將所有默認值放在單獨的部分中,只要我不想更改了表單設計器的默認值。這是上面的方法InitializeComponent()

private void IntializeOtherComponents() 
    { 
     this.numericUpDown1.Value = new decimal(17);  
     this.numericUpDown1.Maximum = new decimal(7777); 
     this.numericUpDown1.Minimum = new decimal(5); 
    } 
+3

那爲什麼要把它放在.Designer.cs中呢?爲什麼不在調用InitializeComponent()之前或之後將它放入.cs? (編輯:這與喬納森的回答有所不同。) – hvd

+0

你是完全正確的......爲了便於閱讀,這可能是我能夠在不需要設計師的情況下查看和更改內容的最佳方式。 – Sisyphus

1

您可以創建自己的NumericUpDown用戶控件。只需從通用的NumeriUpDown繼承並在構造函數中設置dessired屬性。

public partial class MyUpDownCtrl : NumericUpDown 
    { 
     public MyUpDownCtrl() 
     { 
      InitializeComponent(); 
      this.Increment = new decimal(2); 

     } 
    } 

生成您的解決方案後,您將有新的自定義UpDownControl在你的工具箱準備使用只是拖動它像普通的NumericUpDown。

我希望它能幫助你,因爲我不知道任何讓Visual Studio停止自動更改窗體設計器代碼的方法。也許它根本無法完成。

+0

謝謝,你給我的想法,我只是張貼在一個自我回答。 – Sisyphus

相關問題