vb.net窗体继承

在开发项目的时候,我们常常会遇到界面特别相似的窗体,这时我们就可以用窗体继承了。下面通过一个简单的实例来实现窗体继承。

1.创建父窗体Form1

2.把需要重写的事件改为Overridable,将private保护类型改为protected或者pubic

3.通过Windows Forms添加继承的窗体,如下图

然后继承的窗体就创建出来了

4.接下来你就可以改造这个窗体了,以重写Form_Load事件为例

5.创建Form3,把这两个窗体Show一下,让我们看下效果(“父窗体”改为了“子窗体”;“卡号”改为了“学号”)

6.在子窗体中,对于文本框、按钮等控件的属性是改变不了的,怎么办呢?下面以Text为例,想要更改Text的Name属性,只要打开设计器,把friend改为protected或public即可。

7.重新编译一下,你会发现,原本文本框上的小锁不见了,你可以随意改变文本框的属性了。

窗体实现继承,是人类的智慧,给我们带来了极大的便利,节省了资源,希望本篇博客可以为初学者带来一丝帮助,同时我也是初学者,难免会有不对的地方,欢迎大牛们不吝赐教,您的鼓励就是我最大的动力。

vb.net窗体继承,布布扣,bubuko.com

时间: 2024-10-12 09:18:35

vb.net窗体继承的相关文章

窗体的复用----窗体继承

众所周知,在面向对象的软件开发中,通过对类的封装和抽象,可以对类进行继承,从而实现代码复用和增加软件的可维护性.那么,窗体能不能继承呢?在重构机房收费系统的时候遇到了如下问题: 相似的几个功能,窗体布局一模一样,如果使用以前的方法,只能复制.粘贴这些窗体和控件,可是,控件可以复制,名字却不能复制:如果改其中的一项数据的话,需要修改好几个窗体,可维护性差:U层.B层.D层代码相似度很高,代码复用性太低等等.怎么解决这些问题呢? 类可以进行抽象.封装,然后可以继承以复用,窗体能不能看做一个特殊的类?

窗体继承

    我们都知道面向对象的特征是封装.继承和多态,封装我们在vb版的机房中都用过,那么继承该怎么用? 在机房重构中有很多窗体都是相类似的,我们可以把这些窗体中公共的部分抽象出来,然后再继承这些窗体, 可以很好的达到代码复用的效果 一.父类窗体 机房中组合查询的窗体一共有三个,他们除了数据显示不同之外其他基本都是一样的,我们可以把一样的 东西封装起来单独构成一个父窗体 '组合查询实体为保护型,为了子类成员函数的使用     Protected groupcheck As New Entity.G

B窗体继承于A窗体,B启动:问题点

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) pnl1: TPanel; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.d

winform窗体继承泛型类时,设计器无法使用解决办法

当我们使用winform程序时,winform窗体程序和控件程序都是可以通过设计器进行控件拖拽的,但如果我们继承了一个带有泛型的form基类.那么设计器是无法使用的. 目前我没有找到根本解决的办法,但可以间接解决无法调试的问题. 下面具体说明如何实现 比如我们有FormA,BaseForm<Entity>, FormA : BaseForm<XXX> 这样直接继承是无法使用设计器的. 需要增加一个临时的form类,比如TempForm. 由TempForm先继承BaseForm, 

Delphi_子窗体继承父窗体后如何显示父窗体上的控件

1.创建子窗体Form1 File -> New -> Form,新建一个form,在form的单元文件中修改 2.子窗体中引用父窗体单元 uses TFatherForm 3.将子窗体中代码修改 TForm1 = class(TForm) 改为 TForm1 = class(TFatherForm) //TFatherForm为被继承的窗体 4.在Form窗体上弹出右键菜单,选择View As Text 把第一行的Object 改成 inherited 后保存: 5.在Form标签上点击右键

wpf自定义控件或窗体继承问题,继承之后出现不能是 XAML 文件的根

我们在WPF中创建baseWindow或者想继承一个自定义的USERCONTROL时,经常会遇到 "继承之后出现不能是 XAML 文件的根" 这样的错误. 原因是继承类如果重新定义窗体内容会冲掉基类的所有内容: 解决方法:1.基类设成一个继承Window或者UserControl普通的类文件,不要创建成带XAML的文件. 或者 利用自定义控件,创建各自的ControlTemplate, 2.在继承窗体或控件中 添加OnContentChanged方法, 然后把基类窗体或控件的内容填充进

VB.net窗体设计

1 设定窗体大小: MaximizeBox:窗体最大化设置.  FormBorderStyle:设置窗体样式,如:使用鼠标调整窗体大小等. 1 2 3 4 5 6 '窗体最大化 Form.WindowState = FormWindowState.Maximized '禁用窗体最大化按钮 Form.MaximizeBox = False '禁止用户用鼠标改变窗体大小 Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle

vb.net窗口继承(房重建知识汇总)

在项目的开发,我们经常会遇到特殊的相界面似窗户,然后,我们将能够使用继承的窗口.透过窗户下面简单的例子来实现继承. 1.创建父窗口Form1 2.把须要重写的事件改为Overridable,将private保护类型改为protected或者pubic watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQXVndXMzMzQ0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/C

VB 半透明窗体

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As