窗体继承,然后实现按钮点击事件的重写

2023-05-16

  做了一阵子Winform的程序之后,越来越能够做到把窗体、控件等都看作类来对待了。以前做VB的时候,对这些控件都是有一种敬畏的心理,根本就不敢对其做什么,而且当时也的确做不了什么,因为没有面向对象的继承、重载、重写什么的,呵呵。现在不一样了,所有的东西都是类,所以面向对象的各种操作都是可以完成的。(只是发现的有点儿晚啊。)

下面的例子实现了窗体的继承,并在子类里面自动完成了对父类窗体里面的按钮点击事件的重写。

步骤一:建立一个窗体Form1,并在上面放置一个按钮。

步骤二:编写按钮的点击事件,并进行重构,抽出方法。

        private void button1_Click(object sender, EventArgs e)
        {
            SearchData();
        }

        public virtual void SearchData() { }

注意到此时建立的SearchData()方法是一个虚方法,这样我们就可以在子类里面重写它,以根据子类窗体的实际情况实现不同的功能。

步骤三:建立新的窗体Form2,并继承Form1

public partial class Form2 : Form1
    {…………

步骤四:重写Form2里面的SearchData方法。

       public override void SearchData()
        {
            MessageBox.Show("   ");
        }

这样实现的效果是,在Form2子类窗体里面没有添加按钮,也没有编写按钮的Click事件的处理,但是直接点击里面从父类窗体继承过来的按钮,就可以实现重写过的SearchData方法里面的处理。

这样做的好处不言而喻,我想主要有以下几个:

1、方便界面统一

2、避免编写重复代码

3、方便代码的统一

还有什么好处,大家告诉我吧,呵呵。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

窗体继承,然后实现按钮点击事件的重写 的相关文章

  • 用户名 不在 sudoers文件中,此事将被报告。

    继续昨天的故事 话说昨天新建了一个帐号linc xff0c 今天在执行sudo时回显一个很吓人的信息 xff1a sudo password for linc linc 不在 sudoers 文件中 此事将被报告 这是要去哪儿报告呢 xff
  • Git冲突:commit your changes or stash them before you can merge.

    今天用git pull来更新代码 xff0c 遇到了下面的问题 xff1a error Your local changes to the following files would be overwritten by merge xxx
  • Android问题集锦之二十八:You need to use a Theme.AppCompat theme (or descendant) with this activity.

    错误描述为 xff1a java lang IllegalStateException You need to use a Theme AppCompat theme or descendant with this activity 起因
  • Docker实践6:Cannot connect to the Docker daemon.

    正在免费适用着Aliyun主机 xff0c 当然要用docker来部署我的服务器啦 但是今天碰到了题目的问题 xff0c 细节如下 xff1a span class hljs comment docker info span FATA sp
  • DFS与BFS总结

    总结 bfs多用于在一次选择中可以有多种情况的选择 而dfs是确定唯一性如唯一路径 xff0c 也就是深度 当问题是全盘式的搜索 xff0c 不在乎形式或者具体情况呈现还是详细过程的 xff0c 使用bfs 当问题是要求具体过程 xff0c
  • 一个简单的自定义通信协议(socket)

    转自 xff1a http vtrtbb javaeye com blog 849336 这是转自javaeye的一篇文章 xff0c 作者是vtrtbb 按照网络通信的传统 xff0c 我们都会自定义协议 xff0c 这有很多好处 xff
  • ImageView 设置图片

    android doc中是这样描述的 xff1a public void setImageResource int resId 这是其中的一个方法 xff0c 参数resld是这样 xff1a ImageView setImageResou
  • Android问题集锦之八:调用其他程序中的activity和Permission Denial: starting Intent 错误解决办法

    今天想调试多个task中栈的情况 xff0c 在测试程序中调用另一个程序的activity xff0c 代码片段如下 xff1a btnStartX 61 Button findViewById R id btnStartX btnStar
  • VB.NET串口通信例子--我的回忆录

    这是我3年前的一个例子 xff0c 最近翻出来回忆一下 串口是计算机上一种非常通用设备通信的协议 大多数计算机包含两个基于RS232的串口 xff0c 现在配电脑好像只有一个 串口同时也是仪器仪表设备通用的通信协议 xff1b 很多GPIB
  • TensorFlowLite GPU加速

    官方文档 https tensorflow google cn lite performance gpu hl 61 zh cn TF LITE支持移动端GPU加速 xff0c 特别对android端的支持比较丰富 相对android来说
  • C语言基础----流程控制

    流程控制是C语言中比较基础的 它分为三种状态 xff1a 1是顺序结构 2是选择结构 3是循环结构 我要说明后两种结构 xff0c 选择机构和循环结构 首先先说 xff1a 选择结构 选择结构是指 xff1a 当一个条件成立则执 xff08
  • 复杂数据类型——数组

    复杂数据类型是C语言基础的重点 1 数组 xff1a 存储一组数据 2 特点 xff1a 只能存放一种类型的数据 如int类型 xff0c float类型的数据 数组的元素个数只可以放常量 int ages 5 61 1 2 3 格式 xf
  • OC语言——基本语法和思想

    今天学习了OC语言基础语法 1 oc语言完全兼容C语言 xff0c 后缀为 m类型 被广泛应运与开发苹果mac os x平台和ios开发平台 2 oc语言关键字基本上以 64 开头 xff0c oc字符串也是以 64 开头 3 基本类型新加
  • OC语言——三大特性-继承与多态

    继承是oc中比较常见的 1 继承 xff1a 就是当两个类拥有相同的属性和方法时 xff0c 就可以将相同的东西抽取到一个父类中 子类可以拥有父类中所有的成员变量和方法 2 继承的好处 xff1a 可以抽取重复代码 xff0c 节省时间 建
  • OC语言——点语法和成员变量的4种作用域及property和synthesize的使用

    点语法 xff1a 点语法的本质还是方法调用 Person p 61 Person new 点语法的本质还是方法调用 p age 61 10 p setAge 10 一 点语法注意点 xff1a 64 implementation Pers
  • 树排序的理解

    参考文献与详细资料 xff1a https blog csdn net weixin 64067830 article details 124443430 视频 https www bilibili com video BV1iU4y1B7
  • OC语言——构造方法和分类的使用

    一 构造方法 1调用 43 alloc分配存储空间 Person p 61 Person alloc 2初始化 init Person p1 61 p init 可以整合为一句 Person p2 61 Person alloc init
  • 使用CSDN-markdown

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 xff0c 用它写博客 xff0c 将会带来全新的体验哦 xff1a Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传
  • 【笔试&面试】关于动态链接库

    动态链接库英文为DLL xff0c 是Dynamic Link Library 的缩写形式 xff0c DLL 是一个包含可由多个程序同时使用的代码和数据的库 xff0c DLL 不是可执行文件 动态链接提供了一种方法 xff0c 使进程可
  • 虚函数表的实现细节

    1 虚函数 虚表是怎么实现的 xff1f 虚表存放在哪里 xff1f 虚表中的数据是在什么时候确定的 xff1f 对象中的虚表指针又在什么时候赋值的 xff1f 我们很难通过 C 43 43 语言本身来找到答案 C 43 43 标准给编译器

随机推荐

  • 三种工厂模式区别总结

    工厂模式分为三种 xff1a 简单工厂 工厂模式和抽象工厂模式 三者之间存在哪些异同呢 xff1f 先分别看看各个模式的特点 一 简单工厂模式 xff1a 实现了算法和界面的分离 xff0c 也就是将业务逻辑和界面逻辑分开了 xff0c 降
  • 快速排序 改进快排的方法

    快速排序法事应用最广泛的排序算法之一 xff0c 最佳情况下时间复杂度是 O nlogn 但是 最坏情况下可能达到 O n 2 说明快速排序达到最坏情况的原因 并提出改善方案并实现 之 答 xff1a 改进方案 xff1a 改进选取枢轴的方
  • linux select函数详解

    在 Linux 中 xff0c 我们可以使用 select 函数实现 I O 端口的复用 xff0c 传递给 select 函数的参数会告诉内核 xff1a 我们所关心的文件描述符 对每个描述符 xff0c 我们所关心的状态 我们是要想从一
  • Linux epoll详解

    Linux epoll详解 一 什么是epoll epoll是什么 xff1f 按照man手册的说法 xff1a 是为处理大批量句柄而作了改进的poll 当然 xff0c 这不是2 6内核才有的 xff0c 它是在2 5 44内核中被引进的
  • 转折后的总结--2014年找工作

    转折后的总结 找工作 好吧 xff0c 还是忍不住做个总结 xff0c 毕竟还是我人生中一次比较大的事件了 非常感谢华科 xff0c 我的第二个母校能提供给我一个优秀的平台 非常感谢信息安全与保密实验室607室的老师们 xff0c 给我诸多
  • 2014找工作总结-机会往往留给有准备的人

    好基友的文章必须转 xff0c 大神一枚 xff1a 出处 xff1a http blog csdn net xiajun07061225 article details 12844801 其实我的求职过程在十一之前就已经结束了 xff0c
  • 1020 Tree Traversals

    Suppose that all the keys in a binary tree are distinct positive integers Given the postorder and inorder traversal sequ
  • 入职后的书单

    程序员一生的命运就是不停的学习 xff0c 淬炼自己的技术 xff0c 转化为自己的经验 作为新手 xff0c 首先要读的应该是 xff1a 代码整洁之道 1 JAVA核心技术 xff08 卷1 xff09 作者 Cay S Horstma
  • 国内第一本详解云GIS技术的参考书籍《云GIS技术与实践》

    书籍封面 内容简介 云计算技术从概念提出到项目落地已经经历了十余年了 xff0c GIS技术也紧跟IT主流技术大潮 xff0c 通过日趋成熟的云计算技术来解决GIS面临的诸多问题 一转眼 xff0c 云GIS技术也发展了五个年头了 xff0
  • jetpack之ViewModel

    ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据 ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存 摘自官方文档 Android 框架可以管理界面控制器 xff08 如 Activity 和 Fragmen
  • 二叉树的各种创建方法

    1 前序创建 include lt stdlib h gt include lt malloc h gt include lt iostream gt include lt stack gt include lt queue gt usin
  • 虚拟机创建、发放与迁移

    虚拟机创建方法 xff1a 创建空虚拟机虚拟机克隆虚拟机 xff1a 虚拟机运行状态是可以克隆虚拟机的按照模板部署虚拟机 xff1a 模板存在 xff0c 可以调整参数 xff0c 批量部署模板转为虚拟机 xff1a 模板不存在 xff0c
  • Linux必学书籍!五本强烈推荐,你读过几本?

    深入理解Linux内核 推荐等级 xff1a 5颗星 为了透彻理解Linux的工作机理 xff0c 以及为何它在各种系统上能顺畅运行 xff0c 你需要深入到内核的心脏 cPu与外部世界的所有交互活动都是由内核处理的 xff0c 哪些程序会
  • 一个毕业6年的程序员工作经历和成长感悟(终)

    接上篇 xff1a 一个毕业6年的程序员工作经历和成长感悟 xff08 上 xff09 一个毕业6年的程序员工作经历和成长感悟 xff08 中 xff09 一个毕业6年的程序员工作经历和成长感悟 xff08 下 xff09 回望过去 6 年
  • 红包随机算法,给定一定的金额,一定的人数,保证每个人都能随机获得一定的金额。...

    前段时间做了一个笔试题 xff0c 觉得很有意思 xff0c 特此记录下来 题目如下 题目 请编写一个红包随机算法 需求为 xff1a 给定一定的金额 xff0c 一定的人数 xff0c 保证每个人都能随机获得一定的金额 比如100元的红包
  • linux下 ftp服务器如何设置上传文件的权限

    先用vi打开 vsftpd conf vsftpd的配置文件在Ubuntu下是vi etc vsftpd conf在centos 下是vi etc vsftpd vsftpd conf这个在不同的系统下可能不同原理一样 找到umask默认是
  • 敏捷之旅大连2013总结回顾

    12月21日 xff0c 敏捷之旅大连站如期召开 xff0c 这是今年我在大连组织的第九次程序员社区活动 xff0c 在此简单总结一下 这次活动考虑到参会人员会比平时多一些 xff0c 所以选择了中山区的比较大的会议室 xff0c 从十二点
  • 1062 Talent and Virtue

    About 900 years ago a Chinese philosopher Sima Guang wrote a history book in which he talked about people 39 s talent an
  • 演说(zhi)之法

    近年来 xff0c 参加了很多各种各样的技术会议 xff0c 在其中也听了很多高手和牛人们的演说 在总结了自己的一些经验之后 xff0c 也会在一些场合和大家分享 在以上的过程中 xff0c 越来越觉得 xff0c 想要为听众们奉献一场精彩
  • 窗体继承,然后实现按钮点击事件的重写

    做了一阵子Winform的程序之后 xff0c 越来越能够做到把窗体 控件等都看作类来对待了 以前做VB的时候 xff0c 对这些控件都是有一种敬畏的心理 xff0c 根本就不敢对其做什么 xff0c 而且当时也的确做不了什么 xff0c