【发布时间】:2015-07-10 08:37:26
【问题描述】:
我有一个包含 TextBox 的 Windows 窗体应用程序。我想用新的 RichTextBox 对特定的 TextBox 进行一揽子替换。如果我从设计器中删除有问题的文本框,Visual Studio 2012 不会自动删除任何引用该文本框的代码吗?
有没有一种方法可以优雅地执行此操作而不会危及已经存在的代码?
我假设一种方法是在 cs 文件中进行字符串替换,甚至包括 Designer.cs 文件,并找到包含控件名称 (txtQuestion) 的任何字符串并将其替换为新的名称RichTextBox 控件。
我希望 Visual Studio 有更简单的方法来做到这一点。
【问题讨论】:
-
只删除与设计相关的代码。没有其他的。不是事件,甚至部分代码都使用文本框。你只需要使新的richtextbox名称与文本框名称相同
-
您不会丢失代码,但会丢失事件连接。 VB.Net 使这更容易,但在 c# 中,我只需进入 Designer 文件并替换 TextBox 的两个声明。
-
您可以将 TextBox 名称重构为新名称(选择项目中其他地方找不到的字符串,例如“txtQuestionOldVersion”)。创建名称为“txtQuestion”的 RichTextBox。然后对form.cs文件(不是所有项目文件)进行replace all,将“txtQuestionOldVersion”改为“txtQuestion”。您可以安全地删除“txtQuestion”控件。
标签: c# winforms visual-studio-2012