如题,我想从数据库中取出来的数据,动态添加一个按钮放到界面上显示出来并触发事件,应该怎么做,各位大侠帮帮忙 如题,我想从数据库中取出来的数据,动态添加一个按钮放到界面上显示出来并触发事件,应该怎么做,各位大侠帮帮忙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 动态添加按钮可用类似以下代码,只要你的自定义控件是容器类的,就没有问题:pqCompon.InterfaceCompon myItfcCpn;myItfcCpn = new pqCompon.InterfaceCompon();myItfcCpn.Parent = DesignPanel;myItfcCpn.Name = m_objSvcList.Obj.appServices[i].id;myItfcCpn.Left = x;myItfcCpn.Top = y;myItfcCpn.Click += InterfaceCpnClick;pqCompon.InterfaceCompon 类是我自定义的一个控件,你可以换成Button类型,最后一句myItfcCpn.Click += InterfaceCpnClick;是给控件添加代码,InterfaceCpnClick是一个标准事件响应函数的函数名,比如响应click事件函数InterfaceCpnClick的定义如下 /// <summary> /// 功能:接口控件点击事件处理函数 /// </summary> private void InterfaceCpnClick(object sender, EventArgs e) { ...... } 通过代理实现事件http://www.cnblogs.com/dawei362/articles/1268771.html 我是在自定义控件中添加的,他提示说无法添加子控件------------------------------------------你的自定义控件从什么继承?打开this.SetStyle(ControlStyles.ContainerControl, true);了没? System.Web.UI.UserControl从这个继承,this.SetStyle(ControlStyles.ContainerControl, true);?这是什么,System.Web.UI.UserControl中没有SetStyle这个方法 System.Web.UI.LiteralControl”不允许使用子控件。 它提示这个错 可以实现,给你打一个比方。在库中有一个表,表里只有二个字段叫LbName,LbText;有10个值。我们现在用这个十个值生成十个LABEL,加入到Panel2中,同时生成LABEL的事件。。代码如下:for (int i = 0; i < KjTable.Rows.Count; i++) { Label Lb = new Label(); Lb.Name = KjTable.Rows[i]["LbName"].ToString(); Lb.Text = KjTable.Rows[i]["LbText"].ToString(); Lb.BackColor = System.Drawing.Color.Transparent; Lb.AutoSize = true; System.Drawing.Point p = new Point(12 + i * 30, 13 + i * 30); Lb.Location = p; panel2.Controls.Add(Lb); Lb.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Lb_MouseMove); Lb.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Lb_MouseDown); Lb.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Lb_MouseUp); }这个明白了吧,不明白加我QQ:51255777。 [数据库设计]长字符串主键设计 如何控制按钮的位置 讨论:自编截图小软件 C#大量相同对象winform的性能问题 排序 Dropdownlist 与 IsPostBack问题 请教如何点击textbox时弹出treeview? gridview 中checkbox选取行的索引值,出错!Index was out of range. 如何找到VS2005中的图标? 为什么C#中对象new与不new什么区别? C#openfileDialog函数打开的txt文件乱码 在自己的商业软件中使用开源代码的法律问题 关于sql语句查询结果填充到datatable中的一个奇怪的问题!
myItfcCpn = new pqCompon.InterfaceCompon();
myItfcCpn.Parent = DesignPanel;
myItfcCpn.Name = m_objSvcList.Obj.appServices[i].id;
myItfcCpn.Left = x;
myItfcCpn.Top = y;
myItfcCpn.Click += InterfaceCpnClick;pqCompon.InterfaceCompon 类是我自定义的一个控件,你可以换成Button类型,
最后一句myItfcCpn.Click += InterfaceCpnClick;是给控件添加代码,InterfaceCpnClick是一个标准事件响应函数的函数名,比如响应click事件函数InterfaceCpnClick的定义如下 /// <summary>
/// 功能:接口控件点击事件处理函数
/// </summary>
private void InterfaceCpnClick(object sender, EventArgs e)
{
......
}
http://www.cnblogs.com/dawei362/articles/1268771.html
------------------------------------------
你的自定义控件从什么继承?打开this.SetStyle(ControlStyles.ContainerControl, true);了没?
{
Label Lb = new Label();
Lb.Name = KjTable.Rows[i]["LbName"].ToString();
Lb.Text = KjTable.Rows[i]["LbText"].ToString();
Lb.BackColor = System.Drawing.Color.Transparent;
Lb.AutoSize = true;
System.Drawing.Point p = new Point(12 + i * 30, 13 + i * 30);
Lb.Location = p;
panel2.Controls.Add(Lb); Lb.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Lb_MouseMove);
Lb.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Lb_MouseDown);
Lb.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Lb_MouseUp);
}
这个明白了吧,不明白加我QQ:51255777。