由于某些原因,Visual Studio winforms设计器经常对窗体设计器文件和相应的resx进行单调的更改。目前为止最烦人的是:
这些变更不会影响表单/使用者控件的功能或外观,但会在原始档控制中造成许多干扰,使得合并几乎不可能,或需要容易发生错误的手动修正,以消除所有实际变更附注的变更,直到设计工具的下一个变更为止。有什么想法如何防止工作室从它?
ercv8c1e1#
请尝试使用右键锁定控件,然后在窗体/用户控件上选择“锁定控件”。
不幸的是,无法将生成代码中的“有用”更改与来自控件设计器错误或内部工作的“污染”区分开来。如果锁控制功能由于某种原因无法工作,我们就无能为力了,除了那些可怕的黑客攻击:
还有一种方法是 * 根本不使用设计器 *。这导致了一种采用winforms编程的新方法,因为您将提供代码来初始化具有属性和事件的控件。它并不像看上去那么巨大和丑陋:使用可重用的模式和OO特性会非常令人愉快,一些对齐良好的方法调用比隐藏在. designer. cs文件中的一些可怕的代码要好。当然不会有视觉化的支援,但是您可以在设计模式中将控件加入至空的容器,以查看它的外观。
8ehkhllq2#
据我所知,您已经编辑了.designer.cs文件。从某个Angular 来看,这是可以的,我想我们都是这样做的。但是,那里有一个明确的通知“文件是自动生成的,不要更改它”。所以Visual Studio给您一个警告,如果您编辑它,事情可能不会总是顺利的。这是设计的。虽然这些自动更改可能不会给您的应用程序带来麻烦,它们有时会这样做(例如,设置控件的宽度和高度,该控件应根据上下文更改其宽度和高度,如果您有多语言应用程序,这始终是必要的)。所以如果你不喜欢垃圾,你就不要使用设计器,因为它会产生垃圾,这就是它的工作原理。或者你从它开始,在某个时候决定再也不打开它,然后做你的清洁工作。或者你去WPF,它满足你的要求,是时候让WinForms成为传统了,在某个时候对它的支持肯定会结束。
2条答案
按热度按时间ercv8c1e1#
请尝试使用右键锁定控件,然后在窗体/用户控件上选择“锁定控件”。
不幸的是,无法将生成代码中的“有用”更改与来自控件设计器错误或内部工作的“污染”区分开来。
如果锁控制功能由于某种原因无法工作,我们就无能为力了,除了那些可怕的黑客攻击:
还有一种方法是 * 根本不使用设计器 *。这导致了一种采用winforms编程的新方法,因为您将提供代码来初始化具有属性和事件的控件。
它并不像看上去那么巨大和丑陋:使用可重用的模式和OO特性会非常令人愉快,一些对齐良好的方法调用比隐藏在. designer. cs文件中的一些可怕的代码要好。
当然不会有视觉化的支援,但是您可以在设计模式中将控件加入至空的容器,以查看它的外观。
8ehkhllq2#
据我所知,您已经编辑了.designer.cs文件。从某个Angular 来看,这是可以的,我想我们都是这样做的。但是,那里有一个明确的通知“文件是自动生成的,不要更改它”。所以Visual Studio给您一个警告,如果您编辑它,事情可能不会总是顺利的。这是设计的。虽然这些自动更改可能不会给您的应用程序带来麻烦,它们有时会这样做(例如,设置控件的宽度和高度,该控件应根据上下文更改其宽度和高度,如果您有多语言应用程序,这始终是必要的)。
所以如果你不喜欢垃圾,你就不要使用设计器,因为它会产生垃圾,这就是它的工作原理。或者你从它开始,在某个时候决定再也不打开它,然后做你的清洁工作。
或者你去WPF,它满足你的要求,是时候让WinForms成为传统了,在某个时候对它的支持肯定会结束。