2016.2.24 利用用户控件和委托完美解决快速选择txbbox
1、首先将tet_box和一个datagridview控件打包成用户控件uC_QuickTxtBox
2、在用户控件中定义执行主窗口的委托函数
3、主窗体中添加用户控件的load事件,赋值
uC_QuickTxtBox1.qrytp = 1; //定义此实例将进行点、线或机场的哪种查询
uC_QuickTxtBox1.myDelegate = butquery_Click; //查询完成后,映射委托执行哪个主窗体的回传函数。若不执行任何后续操作,此行可以省略
//传统委托的写法是: uC_QuickTxtBox1.myDelegate = new UC_QuickTxtBox.BugTicketEventHandler(butquery_Click);
//()中的butquery_Click并不代表是委托函数的参数,而是说明此委托等效于butquery_Click,
//在定义时public delegate void BugTicketEventHandler(object sender, EventArgs e); 的参数才是真正的参数,
//且必须与真实的butquery_Click(object sender, EventArgs e)参数的个数、类型必须一致
//否则会报错 xx函数的重载与委托yy不匹配
4、用户控件中对应的委托
//抽象一个父窗口的事件或函数,参数个数和类型必须与父窗口真实事件或函数一致。
public delegate void AfterQueryEventHandler(object sender, EventArgs e); //对应主窗口butquery_Click事件的参数。
public AfterQueryEventHandler myDelegate; //实例化此委托
5、用户控件查到结果后调用
if(myDelegate!=null) //这句可兼容无论有无回传事件要调用
myDelegate(null,null); //通过委托,映射执行窗体的button_Click事件
2016.2.24 利用用户控件和委托完美解决快速选择txbbox的更多相关文章
- Asp.net用户控件和委托事件
在Asp.net系统制作过程中,门户类型的网站,我们可以用DIV+CSS+JS+Ajax全部搞定,但是一旦遇到界面元素比较复杂的时候,还是UserControl比较方便一些,各种封装,各种处理,然后拖 ...
- C# DataGridView控件清空数据完美解决方法
C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时: 1.DataSource为NULL(DataGridView.DataSource= null;)这样会将 ...
- 浅尝辄止WPF自定义用户控件(实现颜色调制器)
主要利用用户控件实现一个自定义的颜色调制控件,实现一个小小的功能,具体实现界面如下. 首先自己新建一个wpf的用户控件类,我就放在我的wpf项目的一个文件夹下面,因为是一个很小的东西,所以就没有用mv ...
- ASP.Net用户控件的使用
一.概述: 与WEB窗体页相同,程序员可以使用任何文本编辑器创作用户控件,或者使用代码隐藏类开发用户控件.此外,与WEB窗体页一样,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请 ...
- 网页(aspx)与用户控件(ascx)交互逻辑处理实现
几个页面(ASPX)都使用一些相同的控件,一个文本框,二个按钮(搜索和导出),为了以后好维护,把这相同的部分抽取放在一个用户控件(ASCX)上.现需要处理逻辑如下 搜索事件处理的逻辑在各个页面处理. ...
- 在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
在很多时候,我们做一些非常规化的界面的时候,往往需要创建一些用户控件,在其中绘制好一些基础的界面块,作为后续重复使用的一个单元,用户控件同时也可以封装处理一些简单的逻辑.在开发Winform各种类型项 ...
- C#中,用户控件UserControl里面用Panl加载UserControl,并实现利用委托互相传值
用户控件主窗体结构:左侧树形菜单,右侧Panl: 根据点击的菜单节点,panl里面选择性加载某一个子窗体用户控件,并传值给子窗体: 反之,在子窗体进行相应的操作之后,传值给主窗体,触发主窗体的刷新. ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- C# 自定义控件VS用户控件
1 自定义控件与用户控件区别 WinForm中, 用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Con ...
随机推荐
- ZooKeeper学习第八期---ZooKeeper伸缩性
转:http://www.cnblogs.com/sunddenly/p/4143306.html 一.ZooKeeper中Observer 1.1 ZooKeeper角色 经过前面的介绍,我想大家都 ...
- POJ 3167 Cow Patterns (KMP+前缀和)
题意:给你两串数字,长度分别为n和m,数字大小在[1,25].当后一串数字每个数字的排名位置与前一串数字(任一长度为m的子串)每个数字的排名位置一致时就完全匹配,最后求哪些位置是完全匹配的. 例如:1 ...
- PAT1027. Colors in Mars (20)
#include <iostream> using namespace std; string tbl="0123456789ABC"; int main() { in ...
- Flume-NG启动过程源码分析(一)(原创)
从bin/flume 这个shell脚本可以看到Flume的起始于org.apache.flume.node.Application类,这是flume的main函数所在. main方法首先会先解析sh ...
- getchar与scanf区别
scanf可以一次按照设定的输入格式输入多个变量数据.如int d,float f,char str[20],scanf("%d%f%s",d,f,str); getchar()只 ...
- iOS学习笔记之正则表达式
前言 基本上每个 App 都有登录注册功能,在登录注册时需要验证用户所输入的内容是否符合规定:有时要在字符串中查找并截取符合要求的字符串,这时就需要用到正则表达式.正则表达式看起来晦涩难懂,没有什么规 ...
- phalcon:官方多模块支models层,mode数据库配置
phalcon:官方多模块支models层,mode数据库配置 按: backend分后台, frondend 分前台 每个多模块下面都有一个 Module.php文件, 1. frondend/mo ...
- 解决:SyntaxError: Non-ASCII character in file
今天尝试用monkeyrunner脚本在夜神模拟器上安装并截图QQ,但是遇到了一些问题: from com.android.monkeyrunner import MonkeyRunner, Monk ...
- 解决:phantomjs helloworld.js报错: Can't open 'helloworld.js'
PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG. 当我安装好PhantomJS后,写下第 ...
- WPF/WP/Silverlight/Metro App代码创建动画的思路
在2010年之前,我都是用Blend创建动画,添加触发器实现自动动画,后来写成代码创建的方式.如今Blend已经集成到Visual Studio安装镜像中了,最新的VS2015安装,Blend的操作界 ...