vb.net - 为表单创建分部类

标签 vb.net winforms visual-studio-2010

我想为我的表单创建一个部分类。我有很多事件,它变得凌乱,所以我想把部分分解成他们自己的文件。

问题:当我创建表单的部分类时,请说:

Partial Public Class Form1

End Class

Visual Studio 决定我需要为这个部分类使用另一种形式。

问题:
1. 如何为表单创建分部类?
2. 如果我不能这样做,我如何将表单中的所有事件分解成不同的文件?

最佳答案

是的,确实如此。只要您在这个虚拟窗体上放置一个控件,您就会得到在该源代码文件中生成的设计时代码 (InitializeComponent)。这是 .NET 1.x 的兼容性行为,它不支持 Partial 关键字。这将破坏构建,现在有两个。小心点击是可以避免的,但您知道它迟早会发生。

顺便说一句,其他事情也会出错,当您将事件处理程序从一个文件移动到另一个文件时,设计器无法再跟踪它。并且很容易让您添加另一个更棘手的错误来源。

这只是效果不佳,放弃依靠它来解决您的问题的希望。

通用诊断是复杂的用户界面产生了复杂的代码。但毫无疑问,那艘船已经航行了。更结构化的解决方案是追求 MVC 模型,将数据与数据 View 分离。您仍然会有很多事件处理程序,但它们只会调用执行实际工作的类的方法。其源代码当然可以存在于另一个源代码文件中。典型的问题是 Windows 窗体没有为此内置任何支持,您必须手工制作它。没有类似于 WPF 中的 MVVM 模型。

可以很好地工作的是将控件 + 代码隔离到一个单独的用户控件中。但是,您必须小心地执行此操作,您不想添加一堆公开内部控件的属性和事件。

关于vb.net - 为表单创建分部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4316000/

相关文章:

javascript - 从更新面板中调用“window.open”

windows - 如何让下面的 dsf 代码工作?

c# - 将 PHP HMAC SHA256 转换为 C#

c# - 我如何在 C# visual studios 中定义预处理器符号

c# - 使用 Webclient.Uploadfile 在文件上传期间获取上传进度

c# - 等待 Web 浏览器文档完成而不离开方法

c# - 关闭在另一个线程中创建的表单

c# - 进度条单击 => 更改当前轨道播放位置

visual-studio - Visual Studio链接到不同的代码区域

visual-studio-2010 - Visual Studio 认为 "User Code"是什么?