复合控件之动态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); } }
作者:today4king
出处:https://www.cnblogs.com/jinzhao/archive/2009/02/21/1395554.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架