vb.net继承、悬浮窗口、Form.show,方法

1、继承

之前也看过不少关于继承的概念,可是都是云里雾里,今天终于弄明白了。最为OOP的一个重要概念,理解了继承,对OOP也有了更好的理解。

类的继承:假设有三个类:ClassA,ClassB,ClassC。ClassA的方法有走路,ClassB的方法有走路、吃饭,ClassC的方法有走路、吃饭、交男盆友。那么,通过ClassB继承于ClassA,ClassC继承于ClassB来实现的就很简单了,写好了ClassA,那么ClassB只需要再写吃饭,ClassC只需要再写交男盆友。

基本程序的含义:

Public Class Form1:Inherits System.Windows.Forms.Form

End Class

或者

Pubic Class Form1
Inherit System.Windows.Forms.Form
End Class

但是System.Window.Forms里有很多类,Form是在第七层。很多时候在没有表明继承于Form时,我们却能运行出窗体,这是因为VB.proj指定了一个首先运行的类--Form类。在运行这个类时会先运行 Public sub new() end sub 。就像运行项目时,先运行sub main()一样。

以上主要是参考http://www.xker.com/page/e2007/0131/22031_2.html

有的时候sub new()中会出现MyBase.New()。

MyBase是提供了一种引用当前类实例的基类的方式。

在此情况下,每个派生类构造函数的第一个语句必须调用基类上的一个参数化构造函数,或在调用基类构造函数的派生类中调用另一个构造函数。

mybase.new(a)。

这样做的主要原因是,vb.net默认的是构建函数是new(),如果基类中该构造函数带有参数,系统无法默认调用,必须我们自己声明。

http://topic.csdn.net/t/20031210/20/2550260.html

2.VB.NET浮动窗口

主要用到的是WeiFenLuo.winFormsUI.Docking.dll这个第三方开源控件。

dockpanel 中提供了几个可用的类, 重要的有两个, 一是 DockPanel, 一是 DockContent, DockPanel 是从 panel 继承出来的, 用于提供可浮动的 dock 的子窗口进行浮动和 dock 的场所, DockContent 是从 form 类中继承出来的, 用于提供可浮动的窗口基类. 就是说: DockContent 对象可 以在 DockPanel 对象中任意贴边, 浮动, TAB 化等.

http://archive.cnblogs.com/a/2074480/

类“Form1”指定的基类“BasePanel.Docking.DockContent”不能与它的其他分部类型之一的基类“System.Windows.Forms.Form”不同”的错误。正如上面所说,Form1默认继承于System.Windows.Forms.Form,而BasePanel.Docking.DockContent和System.Windows.Forms.Form是不同类型的类,所以不存在继承。所以要改变Form1.designer.vb中改变其默认的类为BasePanel.Docking.DockContent。

DocumentStyle.DockingSdi。

3.Form.show()方法

Form.show() 向用户显示控件。

Form.show(IWin32Windows) 向用户显示具有指定所有者的窗体。