2010-10-29 49 views
5

我在Visual Basic 2010中编写了一个程序。它是一个HMI(人机界面),因此它有一个按钮的全部功能,只需将命令发送到其他设备即可。因此,有大量的事件处理程序用于单击不能真正分解为模块的按钮(除非我对模块的理解错误)。是否可以将Visual Basic(.NET/2010)文件拆分为可读性?

从本质上讲,我希望能够把所有的事件处理程序,条件,比方说,按下按钮到不同的文件。可以这样做吗?或者它们保持在“MainWindow.xaml.vb”中是否重要? (我所有的按钮都位于一个全屏窗口中,其中一些按钮被标签隐藏)。

谢谢,

--ErikŤ

+0

如何以及何时把任务分配模块是你会发现自己一次又一次重温。部分类将解决您的问题,但IMO不是部分类的预期目的 - 部分类主要被添加,因此编程生成的代码可能在不同的文件中。 – quillbreaker 2010-10-29 16:25:31

回答

13

您可以使用Partial Classes到类定义分解成多个文件,这可能会帮助您管理您的代码。

上面的链接将有助于解释究竟是如何使用分部类。下面的链接将显示您的VB.NET语法(以及如何使用类设计的东西分裂):

How to: Split a Class into Partial Classes

+0

我应该能够将我的代码的相当部分迁移到像这样的单独文件中。真棒! – evilspoons 2010-10-29 17:29:25

+0

FWIW,这工作,但如果你在Visual Studio中移动的事件处理程序通过分部类单独的文件中XAML设计2010再也不能给你一个方便的链接通过属性窗口中的事件处理程序(它显示为空白,如果你双击它会创建一个新的空白事件处理程序......然后编译当然会抱怨多个相同的签名。) – evilspoons 2010-10-29 18:09:48

3

您可以使用Partial Classes如果需要,这些分割成单独的文件。

3

我喜欢用区域来隐藏代码 (代码高亮剂量没有做到这一点有点事情,所以要使用到的图像) alt text

请记住,这只是躲藏在VS的代码的文件仍是完好无损compleatly,编译器会忽略了#Region#End Region线

+0

我一直在使用区域,但是当你有一个400英尺长的页面,你真的只想在Visual Studio的不同选项卡中有多个部分时,他们并没有真正的帮助。尽管如此,还是一个不错的提示 – evilspoons 2010-10-29 17:30:19

+0

啊,真的这取决于我猜的那个人。 – giodamelio 2010-10-30 00:25:58

1

可以将一些功能分离为自定义控件吗?可能甚至基于某些外部数据即时创建按钮?

1

对于UI的模块化,您可以探索WPF/SL描述的构成能力here以及助手和示例here。但它是一个非常不同的体系结构,如果你已经有很多代码,可能是一个重大的重构。

的按钮,你应该能够使用的指挥应该隐藏了大部分的事件处理程序。阅读关于指挥here

+0

我其实使用WPF,但我有点用Windows Forms的心态。我主要切换到WPF,所以我的应用程序将以最小的努力扩展到不同的屏幕分辨率。指挥看起来很吸引人,而这些意见也能帮助我。谢谢! – evilspoons 2010-10-29 17:27:13

+0

@evilspoons:不客气!我同意从Windows窗体到MVVM的过渡是一个很大的跳跃,但它确实值得。尝试一个小规模的项目,你会很快看到好处,如果你搜索到,你会发现MVVM的大量资源:) – Matthieu 2010-10-29 18:54:11

相关问题