我有一個包含TextBox的Windows窗體應用程序。我想用一個新的RichTextBox做一個毛毯替換特定的TextBox。如果我從設計器中刪除有問題的TextBox,Visual Studio 2012會不會自動刪除引用該文本框的任何代碼?用RichTextBox代替WinForms文本框
有沒有辦法在不危及已經存在的代碼的情況下優雅地做到這一點?
我假設有一種方法是在cs文件(包括甚至是Designer.cs文件)中進行字符串替換,並查找包含控件名稱(txtQuestion)的任何字符串並將其替換爲新的RichTextBox控件。
我希望Visual Studio能有一個更簡單的方法來做到這一點。
只有與設計相關的代碼纔會被刪除。沒有其他的。不是事件,甚至代碼的一部分都使用文本框。您只需將新的richtextbox名稱與文本框名稱相同即可 –
您不會丟失代碼,但會丟失事件接線。 VB.Net使這更容易,但在C#中,我只需進入設計器文件並替換TextBox中的兩個聲明即可。 – LarsTech
您可以將TextBox名稱重構爲新的名稱(選擇一個字符串,該字符串不能在項目中的其他位置找到,例如「txtQuestionOldVersion」)。創建名稱爲「txtQuestion」的RichTextBox。然後在窗體上執行全部替換操作。cs文件(不是所有項目文件)將「txtQuestionOldVersion」更改爲「txtQuestion」。您可以安全地刪除「txtQuestion」控件。 – Graffito