以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 动态控件 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=165353) |
-- 作者:wgqcool -- 发布时间:2021/5/14 19:43:00 -- 动态控件 1、在全局代码中加入用于处理Button控件的Click事件的过程: Public
Sub
Button1_Click(ByVal
sender
As
System.Object, ByVal
e
As
System.EventArgs) 提示:过程必须是Public的,否则无法调用。 2、新建一个窗口,在窗口的AfterLoad事件加入代码: Dim
ct
As
New System.Windows.Forms.Button 想用这个方法来动态添加按键,这样配合全局代码比用窗口的全局事件效率要高很多,但是这方法动态添加的按键,只能在form的的panel上添加,我的form上有个SplitContainer1,SplitContainer1里面又有个panel2控件,我想把这个按钮加在panel2里面,应该怎么写代码? |
-- 作者:wgqcool -- 发布时间:2021/5/14 19:49:00 -- 用e.Form.Controls("Panel2").AddControl(ct)替换上面的e.Form.Panel.Controls.Add(ct)会报错。 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:窗口,产品目录,Button3,Click 详细错误信息: 方法调用失败,因为“Public Sub AddControl(ctl As Foxtable.WinForm.Control)”不能用这些参数调用: 与参数“ctl”匹配的参数无法从“Button”转换为“Control”。 |
-- 作者:有点蓝 -- 发布时间:2021/5/15 8:49:00 -- e.Form.Controls("Panel2").basecontrol.AddControl(ct) |
-- 作者:wgqcool -- 发布时间:2021/5/17 19:21:00 -- 按上面代码出现如下报错: .NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8 错误所在事件:窗口,窗口1,AfterLoad 详细错误信息: 未找到类型“O000 0 0”的公共成员“Addcontrol”。 [此贴子已经被作者于2021/5/17 19:21:32编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/5/17 20:36:00 -- e.Form.Controls("Panel2").basecontrol.Controls.Add(ct) |