• 复合控件之动态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/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    html 带渐变的吸顶效果 vue
    Linux添加环境变量
    C#集合通论
    Android adb 命令导出数据库
    查看签名方式及签名信息
    啥 啥 啥,服务治理是个啥
    令牌桶、漏斗、冷启动限流在sentinel的应用
    MySQL事务
    MySQL优化
    MySQL视图、存储过程、函数、触发器
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1395554.html
Copyright © 2020-2023  润新知