机房重构——继承窗体之谜

        继承的窗体,很早就从前辈们那里听说过,自己感觉应该和继承的类差不多,谁知道,自己敲机房的时候建立窗体可就出了问题,怎么也找不到建立窗体的方法,用冒号继承也没有用,为此消耗了我近一个小时的时间来查阅资料和尝试,最终成功的建立了继承的窗体。

一、找到继承的窗体

        首先就是怎么建立继承的窗体的问题。最开始的时候,自己以为用冒号就会解决所有问题,于是乎就用了冒号,结果就是这样的:机房重构——继承窗体之谜_第1张图片

       这样是行不通的,于是上网找资料,网上说从根本上讲,所有的窗体都是继承于模板的,于是有了这样的修改:

机房重构——继承窗体之谜_第2张图片

把他默认继承的窗体改成自己的窗体,结果就是这样的:

所以vs中不支持改默认来继承窗体,那么怎么继承窗体呢?

        在网上的答案中,说直接建立继承的窗体的人居多,但是我没有找到继承的窗体这一项,网上也有网友称没有找到,所以我怀疑是我的vs版本的问题(vs2013专业版),但是后来发现不是这样的。由于vb.net的原因,继承的窗体不是默认存在常用窗口的,所以得自己搜索才能找到:

机房重构——继承窗体之谜_第3张图片

,找到后只需要添加需要的名称,以及需要继承的父窗体就可以了。

二、添加更改

        值得注意的是,我们的继承过来的窗体,和父窗体基本都是一模一样的,控件都是锁定的,不能更改属性,也不能写代码,否则会报上述最后一个错误,如图:

机房重构——继承窗体之谜_第4张图片

我们只能更改窗体的一些属性还有添加新的控件和代码。需要注意的是,父窗体是什么样,有什么功能,对应的控件就有什么样的功能,这样的继承才符合逻辑上的继承。但是也带来了麻烦,就是建立父窗体的时候要注意子窗体的修改范围和功能。

三、总结

        这次的收获主要不是窗体的继承,而是问题不能听到之后就想当然,继承的方法不只是一个,简单的窗体似乎直接用第二种方法也是可以的,但是最后的这种是最安全的,这也反映了解决问题的方法不只是有一个的思想,反正以后再遇到东西一定要自己亲自动手去试试,这样才有自己可以获得的东西。


你可能感兴趣的:(继承,重构,机房收费系统)