c# - 如何阻止 VS Designer 弄乱我已经存在的代码

标签 c# visual-studio winforms

每次我转到 Designer View 时,我的整个 designer.cs 代码都乱七八糟: VS Designer 重新组织代码块并放置一个烦人的冗长前缀,如“this.whatever” 并使用“System.Windows.Forms.whatever”完全限定对象 我知道“Designer.cs”不适合编辑,但我需要不时进行一些 GUI 代码自定义,并希望这些在我更改时保留。

如何避免? (我猜这对 VS 来说太时髦了,无法处理)

(实际上我只是在避免使用设计器,全部手工完成,老办法)

更新:
我很惊讶看到对这个问题的群体 react 。对不起,如果它打扰了,但有趣的是,在打我的手说“不要那样做,这很糟糕”之前,没有人问我为什么要这样做。
恕我直言,问题是相关,这就是为什么:许多“自动生成”的代码都是垃圾,完全没有用,它确实需要一些改进。一个示例(还有很多其他示例):当控件的停靠模式设置为 Fill 时,为什么要生成 Size/Location 属性?我想在没有亏损的情况下利用这些好处。
无论如何,我会保持简短的回答:要么全部(与垃圾一起)全部拿走,要么全部留下。

最佳答案

很简单:不要编辑设计器代码。出现这些警告是有原因的,要使 Visual Studio 正常工作,它需要拥有该文件。

这是一个分部类:您需要做的所有事情,您都可以在该类的匹配非设计器文件中完成;这包括您所有的控制声明和其他内容。由于您试图完全避开设计器,让 visual studio 拥有该文件并将所有内容放在您的普通 .cs 文件中。

更新: 根据评论,我想添加以下内容 —
要么使用设计器,要么不使用设计器。不要对此犹豫不决。如果您在某些事情上使用并依赖设计师,您必须不要管设计师的文件。

如果您要避开设计师,那就真的要避开设计师。 一切它所做的一切你都可以在你自己的代码中完成(当然除了视觉队列,但即使是通过原型(prototype)设计也可以做得更好)。您甚至可以为分部类创建自己的附加文件,以保留类似设计器的代码。

如果您只是将设计器用作偶尔的代码生成器来帮助减少一些无聊的输入,请在单独的项目中或在现有项目的一次性表单中执行此操作,然后只需复制/粘贴代码即可。

关于c# - 如何阻止 VS Designer 弄乱我已经存在的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4325450/

相关文章:

c# - Htmlagilitypack 中的 GetElementsByTagName

python - 如何在 Visual Studio 终端中自动激活 python 虚拟环境?

.net - 所有右键单击的通用处理程序

c# - 在 C# 中验证文本框输入

c# - 如何以编程方式在 Outlook 邮件正文中创建表格

c# - 更多的资源困惑

C# Mailkit/Mimekit SSL 密码问题,无法发送/接收电子邮件

visual-studio - 未知选项 -RequireConsent

.net - 从全局程序集缓存中删除 Oracle Data Provider for .NET

c# - 检索任何窗口的所有控件及其类型和值