公开/公告号CN105824629A
专利类型发明专利
公开/公告日2016-08-03
原文格式PDF
申请/专利权人 烽火通信科技股份有限公司;
申请/专利号CN201610149139.1
发明设计人 陶长裕;
申请日2016-03-16
分类号
代理机构武汉智权专利代理事务所(特殊普通合伙);
代理人彭程程
地址 430074 湖北省武汉市东湖开发区光谷创业街67号
入库时间 2023-06-19 00:11:02
法律状态公告日
法律状态信息
法律状态
2019-03-12
授权
授权
2016-08-31
实质审查的生效 IPC(主分类):G06F9/44 申请日:20160316
实质审查的生效
2016-08-03
公开
公开
技术领域
本发明涉及计算机工程领域,具体来讲是一种C-sharp语言下父 窗口中收集子窗口控件信息的方法。
背景技术
目前,C-sharp语言(C-sharplanguage,C#语言)作为一种公知 的.NET语言,经常需要利用多窗口场景来实现开发需求。
传统的子窗口控制信息收集方法,通过改写被传递值的窗口(即 父窗口)原来的构造函数来实现。在原来的构造函数码块中,定义子 窗口各目标控件对应的私有变量,以及定义私有变量的取值方式。在 子窗口控件的信息传出到父窗口的时候,子窗口判断开发人员是否点 击“确定关闭”的按钮,关闭子窗口后,利用构造函数将各目标控件 的信息传出到父窗口。由于利用了构造函数,因此操作过程比较复杂, 对开发人员的专业要求高,并且涉及多个控件时,处理更加复杂。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供C-sharp语 言下父窗口中收集子窗口控件信息的方法,操作过程简单,降低开发 人员的专业要求,提高子窗口下多控件的信息收集的简便性。
为达到以上目的,本发明采取的技术方案是:C-sharp语言下父 窗口中收集子窗口控件信息的方法,包括:S1.在父窗口中通过C-sharp 语言实例化多个目标子窗口;S2.打开每个目标子窗口,初始化每个 目标子窗口中所有控件的信息,定义一个带有公共属性的数组,作为 公共数组,将所有控件的信息保存到对应的公共数组中,关闭目标子 窗口;S3.在父窗口中,通过实例化的目标子窗口和公共数组两个特 征,对应获取到存储于公共数组中的目标子窗口各控件的信息。
在上述技术方案的基础上,所述S1中,目标子窗口是要实例化 的子窗口,目标子窗口的数目小于或等于父窗口中所有子窗口的数目。
在上述技术方案的基础上,所述S2中,通过模态对话框或非模 态窗口的方式,打开目标子窗口。
在上述技术方案的基础上,通过非模态窗口打开时,如果没有关 闭当前显示的页面,则无法关闭该页面后面的任一页面。
在上述技术方案的基础上,所述S2中,在目标子窗口的管理界 面中,初始化每个目标子窗口中所有控件的信息。
在上述技术方案的基础上,所述S2中,初始化每个目标子窗口 中所有控件的信息,包括定义带有公共属性的公共数组,作为父窗口 和子窗口之间信息传递的载体。
在上述技术方案的基础上,初始化每个目标子窗口中所有控件的 信息,还包括定义子窗口中各个控件的作用信息、各个控件自身的输 入/输出关系约束及防错,以及各控件之间的处理逻辑、过程显示及 存储。
在上述技术方案的基础上,所述S2中,每个目标子窗口下的所 有控件,通过逐个读写获取,或者通过关键字统一获取。
在上述技术方案的基础上,所述S3中,通过实例化的目标子窗 口,访问目标子窗口控件的信息,通过遍历目标子窗口对应的公共数 组,得到该目标子窗口中各个控件的信息。
本发明的有益效果在于:
1、定义一个带有公共属性的数组,作为公共数组,由于数组广 泛使用于多种语言中,有效降低开发人员的专业要求。可批量收集/ 处理多个控件的信息,只需要将各控件的信息保存在公共数组中,无 需关注各个控件之间的差异,提高子窗口下多控件的信息收集的简便 性以及通用性。
2、公共数组作为父窗口和子窗口之间信息传递的载体,简化了 父窗口和子窗口间的信息传递过程,可以轻易的共享组窗口下各个控 件的信息。
3、子窗口的内部操作都保持独立,有助于代码结构清晰化,操 作过程简单,减轻后期的功能维护工作量。
附图说明
图1为本发明C-sharp语言下父窗口中收集子窗口控件信息的方 法流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
如图1所示,本发明C-sharp语言下父窗口中收集子窗口控件信 息的方法,包括如下步骤:
S1.在父窗口中通过C-sharp语言实例化多个目标子窗口。具体的, 目标子窗口是要实例化的子窗口,目标子窗口的数目小于或等于父窗 口中所有子窗口的数目。以实例化一个目标子窗口为例,按照如下格 式进行实例化:
目标子窗口实例化子窗口=new目标子窗口();
具体代码为:
S2.打开每个目标子窗口,在目标子窗口的管理界面中,初始化 每个目标子窗口中所有控件的信息,定义一个带有公共属性的数组, 作为公共数组,将所有控件的信息保存到对应的公共数组中,关闭目 标子窗口。
具体的,通过模态对话框(modaldialog)或非模态窗口(modeless dialog)的方式,打开目标子窗口。当通过非模态窗口打开目标子窗 口时,如果没有关闭当前显示的页面,则无法关闭该页面后面的任一 页面,它是当前唯一(路径打开)为true的。如下所示,通过模态对 话框打开/显示目标子窗口方法,
其代码为:
通过非模态窗口打开/显示目标子窗口方法,其代码为:
另外,初始化每个目标子窗口中所有控件的信息,包括定义带有 公共属性(public)的数组(即公共数组),公共数组作为父窗口和子 窗口之间信息传递的载体。初始化每个目标子窗口中所有控件的信息, 还包括定义子窗口中各个控件的作用信息、各个控件自身的输入/输 出关系约束及防错,以及各控件之间的处理逻辑、过程显示及存储。
在关闭子窗口前,遍历父窗口中需要的目标子窗口的控件,将控 件信息保存到对应的公共数组中,然后关闭目标子窗口,返回父窗口。
其中,依次遍历各个目标子窗口下的控件。每个目标子窗口下的 所有控件,可以通过Control关键字统一获取,或者通过逐个读写获 取。
例如,控件未放在某个容器(如groupbox)里使用,则代码如下 所示:
例如,通过逐个获取控件(即复选框)输入信息,将控件的信息 保存到公共数组cboAuto[]中,代码为:
S3.在父窗口中,通过实例化的目标子窗口和公共数组两个特征, 对应获取到存储于公共数组中的目标子窗口各控件的信息,可以达到 共享目标子窗口中控件信息的目的。具体的,通过实例化的目标子窗 口,访问目标子窗口控件的信息,通过遍历目标子窗口对应的公共数 组,得到该目标子窗口中各个控件的信息。
通过“实例化的目标子窗口.公共数组”方式访问目标子窗口控 件的信息,以访问公共数组中第8(从0开始)个元素为例,即访问 目标子窗口中第8个控件的信息,具体代码为:
遍历公共数组,获取目标子窗口控件的信息,代码如下:
然后,可以重复以上步骤,完成目标子窗口其他控件的信息的获 取。
本发明以带有公共属性(public)的数组作为目标子窗口中控件 的信息收集载体,并将控件的信息传递给父窗口。构造公共数组储存 目标子窗口中所有控件的信息,实现目标子窗口下多控件信息的批量 管理,使子窗口控件的信息在父窗口中共享。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细 描述的内容属于本领域专业技术人员公知的现有技术。
机译: 在计算机系统中用于将子窗口嵌入父窗口的方法
机译: 用于独立于其父窗口显示上下文相关子窗口的方法和系统
机译: 匈牙利语中的智能和个人本体控制的Internet信息的收集,处理和显示方法