阻止生成 Form.resx

Prevent from generating Form.resx

提问人:sjlewis 提问时间:3/2/2011 最后编辑:Communitysjlewis 更新时间:3/3/2011 访问量:2345

问:

我有一个从另一个继承的表单。在设计器中,每当我调整控件大小或位置等内容时,VS 都会为该窗体自动生成一个 resx 文件。resx 只包含一些用于组合框的 KeyValuePairs,w/c 实际上是不必要的,因为这些值已经在父类中定义。

除此之外,设计器 .cs 还使用继承的属性(如 Text、NumericUpDown.Value、DisplayMember、ValueMember 等)进行更新,w/c 再次已在父类中定义。

我知道设计器 .cs 应该更新新的位置和大小,但我不希望它更新从父类继承的其他东西。

有没有办法防止这种情况发生,只是让设计师更新位置和尺寸?

更新:我发现由于我在 OnLoad() 中的绑定逻辑,ComboBox.Items.AddRange() 被添加到 Designer.cs 和 .resx 文件中。这主要是防止在设计器上重新加载窗体时设计器正确加载。

我修改了 OnLoad 以仅在 DesignMode 为 false 时运行绑定逻辑。

重新加载设计器时,窗体不再引发错误,但每当我通过属性对话框更改任何属性时,某些控件属性仍会不必要地添加回设计器 .cs。

UPDATE2:完全防止设计器通过在此处应用建议来生成不必要的控件属性。

现在生成的只是控制位置和大小。

C# WinForms net-2.0

评论

0赞 Ritch Melton 3/3/2011
继承表单代码是正确的做法吗?如果存在通用的 UI 布局/功能,则该代码是否不应放入 UserControl 中?那么 UserControl 是否被添加到两个窗体中?
0赞 sjlewis 3/3/2011
我不确定;我们已经将通用的 UI/功能融入到父类中,但我们也允许继承者稍微调整布局(例如位置、大小),并允许他们在派生形式中添加新控件。
0赞 sjlewis 4/23/2015
如何防止 Visual Studio 的 Windows 窗体设计器删除控件?

答: 暂无答案