zoukankan      html  css  js  c++  java
  • 复合控件之动态Button生成

    Button的生成其实不难,麻烦的是它的事件,我看了好多反编译的代码,还有网上很多人的代码,跟我想的都不一样,到现在对控件的事件执行和回发还有比较模糊,以后有时间需要好好研究下,只可惜没有好的书,只能研究好代码。

    言归正传,网上的控件生成有个弊端就是所有事件都是通过复合控件的事件属性的形式实现的,所以无法动态的增加Button这类控件,但是如果是一个固定的组合控件这样做也挺好。我的代码很简单,但是也花了我不少时间探索,主要是类似的资料太少,实现的也不完美,多的不说了直接看代码吧,很简单(T。T);

        public class testControl : CompositeControl
        {
            void bt_Click(object sender, EventArgs e)
            {
                EventHandler handler = (EventHandler)this.Events[sender];
                if (handler != null)
                {
                    handler(this, EventArgs.Empty);
                }
            }
            public void AddButton(string text, EventHandler e)
            {
                Button bt = new Button();
                bt.Click +=new EventHandler(bt_Click);
                this.Events.AddHandler(bt, e);
                Controls.Add(bt);
            }
        }
    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Oracle EBS 自治事务
    [转]Oracle GoldenGate安装配置
    [Oracle EBS R12]SQL Queries and Multi-Org Architecture in Release 12 (Doc ID 462383.1)
    LUN 和 LVM 知识
    [RAC] oracle rac 后台进程
    Manually connecting to the Oracle Linux Yum Server
    [转]ORACLE 绑定变量用法总结
    [转]分析函数计算移动平均的测试
    并发与多版本:update重启动问题
    WCF(二)三种通信模式
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1395554.html
Copyright © 2011-2022 走看看