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/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    document基本操作 动态脚本-动态样式-创建表格
    js原型模式和继承
    NuGet本地包自定义路径
    技术文档链接收藏
    数据结构排序
    Insertion Sort
    选择排序之javascript
    冒泡排序之javascript
    C++双向链表
    单向链表
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1395554.html
Copyright © 2011-2022 走看看