我有一个包含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