首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

窗体UserForm——我也是类

首先,设置窗体界面: ?...,这里举的例子比较简单,只有一个变量,如果设计的是一个较为复杂的窗体,变量很多的情况下,一旦需要复用窗体到其他程序,这时候,还要把普通模块中的变量一起复制过去。...所以,上面这种设计是不合适的,作为这个只需要对外传递某些数据的窗体来说,它的功能应该仅仅是对外传递数据,不依赖外部变量,不包含逻辑代码,它就是一个独立的对象,能够对外提供接口读取数据,这就是类了。...窗体本身就是一种特殊的类,只是它多了一个交互界面,类的那些特性窗体是都具有的,所以,根据类的设计方法,给这个窗体设置一个可以读取的属性UserName: '设置只读属性 Property Get UserName...外部普通模块调用的时候,就像是使用一个普通的类一样: Sub TestUserFrom() Dim f As FInputName '创建窗体实例 Set f = New

84130

winform 窗体实现增删改查(CRUD)窗体基类模式

由于BaseForm一般需要在大多数的窗体中,而新增编辑数据窗体一般较为特殊一点,可以再增加一个基类BaseEditForm,用来做新增编辑窗体的基类,该基类继承自BaseForm类,工程代码如下所示。...编辑以及新增我们整合在一个窗体中,先看看该基类的设计视图,我们在其中添加了3个按钮(常用的添加、保存、关闭按钮)。 ?...窗体的代码我大类采用了可重载的虚函数,留给子类窗体进行实现不同的处理操作,如窗体加载显示操作、显示数据到控件的操作、保存、新增等函数都是需要实现的,而调用逻辑以及一些通用的处理,则在基类BaseEditForm...{             this.DialogResult = DialogResult.Cancel;             this.Close();         } 其中值得介绍的是,窗体的控件数据清空在基类窗体中通过遍历实现了通用的数据清空操作...另外,基类窗体还实现了Tab键的转换,这个思路来源于即日嘎拉的代码,但由于是基类实现,有些不同,他的放在每个具体的子类中,因此通用性有些限制。

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    将自动通知窗体集成到类中

    在IE的右下角自动弹出一个通知窗口,几秒后慢慢消失,这个现在是很常见的js代码实现的功能,但是,我希望能够把这个功能集成起来,使用时尽量简化,所以尝试作了一个类,专门来完成这个功能。        ...首先,分析弹出窗体的功能。因为这是js的功能,而且js代码是可见的,所以,如果有别人实现的好点,可以直接就拿来使用了。...2、弹出的窗体。         3、样式代码         自己写了个测试页面,测试了这些功能,发现都没有问题。支持弹出,自动隐藏,还支持拖放窗口,总之比较强。         ...于是思路就定了,制作一个类NoteWindow,有一个静态的(最近特别喜欢用这个,特别是在一些辅助性的类中)函数ShowNote,直接就将这个代码就插入了。

    82570

    如何加载第三方类库项目类库基类库?

    如果你的类库没有使用命名空间定义的话,实例化的时候需要加上根命名空间,官方文档原话 tp中对于没有命名空间的类, 实例化的时候要使用 new \ClassName(); ####第三方类库导入(vendor...方法的别名vendor,专门用于导入第三方类库,并且默认的起始目录和类文件后缀有区别。...use) 应用类库通常是在应用或者模块目录下面的类库,应用类库的命名空间一般就是模块的名称为根命名空间,例如: Home\Model\UserModel类(位于Application\Home\Model...公共类库 (import) 公共类库通常是指ThinkPHP/Library目录下面的类库,例如: Think目录:系统核心类库 Org目录:第三方公共类库...这些目录下面的类库都可以自动加载,你只要把相应的类库放入目录中,然后添加或者修改命名空间定义。

    1.2K30

    C# 答群友:把窗体应用改成类库输出然后去引用

    类库你就新建类库文件直接生成dll去引用好了,但是群友非要骚操作,新建一个windows窗体把他搞成dll去引用,当时我回答了这个问题是可以的,但是实际上我没有这么干过,今天恰好有空,体验了一把,的确可以...首先说明哈,因为这只是测试这么个功能,我新建的项目名字以及窗体名字都没改,偷懒了哈,网友勿喷!...先新建第一个窗体应用, 代码如下; using Microsoft.CSharp; using System; using System.CodeDom.Compiler; using System.Collections.Generic...string code = sb.ToString(); return code; } } } 点击按钮运行后结果如下: 然后我把它的输出类型改为类库...: 然后去新建第二个窗体应用,然后引用上面的项目 代码如下: using System; using System.Collections.Generic; using System.ComponentModel

    26730

    python的类访问控制

    在python类中,有属性和方法,外部代码可以直接通过实例来访问修改。 如果需要让内部的属性不被外部访问到,在属性变量前面加上__2个下划线。...在python中,实例的变量名如果是由__2个下花钱开头的,就代表这是一个私有变量:只有内部可以访问,外部不许直接通过类或者实例访问。 代码: ?...虽然说外部访问不了一个内部私有属性,但是可以通过类中方法间接的访问、修改 类内部方法getname和setname: ? 双下划线开头的私有属性,是不是一定不能从外部访问呢? 其实不是的: ?...python中2个有趣的现象,外部变量遮蔽类中的变量。 从实例中访问类属性必须要谨慎。 和通常python变量一样,任何对实例属性的赋值都会创建一个实例属性(如果实例属性不存在的话),并且对其赋值。

    1.5K60

    Super访问父类成员

    创建一个父类Person,并有属性年龄: 创建一个子类Student,具有和父类相同的属性: 测试类: super调用成员方法: 当父类和子类都具有相同的方法名时,可以使用 super 关键字访问父类的方法...创建一个父类Person: 创建一个子类Student,具有和父类相同的方法: 测试类: super调用成员属性: Person类: package boke.boke2; public class...void main(String args[]) { Student s = new Student(); s.display(); } } 3 结语 针对super访问父类成员问题...,通过实验,当子类的成员变量或方法与父类同名时,可以使用 super 关键字来访问。...在以前的学习中,不清楚super的用法,本次实验让我们深刻理解到super在访问父类成员属性以及方法时的作用。

    13310

    Super访问父类成员

    创建一个父类Person,并有属性年龄: 创建一个子类Student,具有和父类相同的属性: 测试类: super调用成员方法: 当父类和子类都具有相同的方法名时,可以使用 super 关键字访问父类的方法...创建一个父类Person: 创建一个子类Student,具有和父类相同的方法: 测试类: super调用成员属性: Person类: package boke.boke2; public class...void main(String args[]) { Student s = new Student(); s.display(); } } 3 结语 针对super访问父类成员问题...,通过实验,当子类的成员变量或方法与父类同名时,可以使用 super 关键字来访问。...在以前的学习中,不清楚super的用法,本次实验让我们深刻理解到super在访问父类成员属性以及方法时的作用。

    9710

    Java类库之StringBuffer类(重点)

    在讲解StringBuffer类之前首先来简单回顾一下String类的特点: · String类的对象有两种实例化方式,一种是直接赋值,只会开辟一块堆内存空间,而且对象可以自动入池,另外一种方式使用构造方法完成...,但是其不适合于被频繁修改的字符串操作上,所以在这种情况下,往往可以使用StringBuffer类,即:StringBuffer类方便用户进行内容的修改。...在String类之中使用“+”作为数据库的连接操作,而在StringBuffer类之中使用append()方法进行数据的连接。...现在表示字符串的操作类就有了两个:String、StringBuffer,那么下面通过这两个类的定义来研究一下关系: ?...,同样,在StringBuffer类之中也定义了许多的操作方法,而且有些方法还是String类所有没有的支持。

    84200

    .NET 类库

    您可以使用三种类型的类库: 特定于平台的类库可以访问给定平台(例如,.NET Framework、Xamarin iOS)中的所有 API,但只能由面向该平台的应用和库使用。...可移植类库可以访问 API 的子集,并且可供面向多个平台的应用程序和库使用。 .NET Standard类库将特定于平台的和可移植的库概念合并到一个模型中,该模型提供了两者的优点。...特定于平台的库一直是 .NET Framework 的主要类库类型。即使出现了其他 .NET 实现,特定于平台的库仍然是主要的库类型。 可移植类库 多个 .NET 实现支持可移植库。...许多库开发人员已经从从一个源(使用条件编译指令)生成多个特定于平台的库转向可移植库。有几种方法可以访问便携式库中特定于平台的功能,其中诱饵和切换是目前最广泛接受的技术。...Mono 类库 Mono 支持类库,包括前面描述的三种类型的库。Mono 经常被(正确地)视为 .NET Framework 的跨平台实现。

    73020

    C++从入门到精通——类的定义及类的访问限定符和封装

    protected:保护访问限定符,被声明为protected的成员可以在类的内部被访问到,但不能在类的外部被直接访问。但是,它可以被继承该类的派生类访问。...private:私有访问限定符,被声明为private的成员只能在类的内部被访问到,不能在类的外部和派生类中被直接访问。...protectedVar; // 可以在类的内部访问到,派生类也可以访问到 private: int privateVar; // 只能在类的内部访问到 }; 注意,访问限定符的目的是为了控制类的成员的访问权限...访问限定符说明 public修饰的成员在类外可以直接被访问 protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的) 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止...一个类可以包含公有、私有和保护三种类型的成员,其中公有成员可以被类的外部代码直接访问,私有成员只能在类的内部访问,而保护成员则只能在类的内部和其派生类中访问。

    30410
    领券