以文本方式查看主题

-  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=57755)

--  作者:涛声依旧5666
--  发布时间:2014/9/30 16:03:00
--  请教如何在第三方窗口中添加狐表的控件?

自定义一个登陆窗,用的是微软标准的form(system.windows.forms.form)。

现在想在窗口中添加foxtable的控件(如foxtable.winform.textbox)

但一直不成功。

希望高手指点一下。谢谢!!!


--  作者:有点甜
--  发布时间:2014/9/30 16:08:00
--  

 参考

 

http://www.foxtable.com/help/topics/1409.htm

 


--  作者:有点甜
--  发布时间:2014/9/30 16:11:00
--  

Dim txt As WinForm.TextBox
txt = Forms("窗口1").CreateControl("TextBox1", ControlTypeEnum.TextBox)
txt.Left = 100
txt.Top = 100
txt.BindingField = "表A.第一列"

Dim frm As new System.Windows.Forms.Form
frm.show
frm.controls.add(txt.Basecontrol)


--  作者:涛声依旧5666
--  发布时间:2014/9/30 16:16:00
--  

谢谢甜老师。

但问题是我没有“窗口1”这个内部的东东,难道必须在foxtable中生成一个“窗口1“作为中转站吗?

有没有更直接一点的方法。麻烦甜老师支招。


--  作者:有点甜
--  发布时间:2014/9/30 16:21:00
--  
 木有,你弄多弄过一个窗口吧
--  作者:逛逛
--  发布时间:2014/9/30 16:25:00
--  

你都已经使用 system.windows.forms.form 了

 

就接着使用 system.windows.forms.TextBox 得了


--  作者:涛声依旧5666
--  发布时间:2014/9/30 16:32:00
--  

其实,foxtable中有许多控件还是非常不错的,胜过微软的。这也正是自己喜欢并持续研讨foxtable 的原因之一。

上面只是示意,我真正想添加的是NumericCombox


--  作者:逛逛
--  发布时间:2014/9/30 16:38:00
--  

所以你还是直接用狐表的窗口建登录窗口吧。

 

软件不一定要先打开登录窗口,验证后再打开主界面的

 

你可以先用默认用户打开自定义的欢迎界面,让用户去点击登录,验证后再加载数据,转到主界面。


--  作者:涛声依旧5666
--  发布时间:2014/9/30 16:56:00
--  

其实,当一个系统有上百张表的时候,为每张表绘制一个主窗口,是非常吃力的事。参考"飞"利用微软布局控件的思路,我已用代码实现自动录入窗的设计,但现在的遗憾是只做到动态生成微软的控件或C1的控件。

而狐表的控件,连如何动态生成都不知所以然,即new出错。

刚才甜老师的方法,启发了我,可以如此变通。只是希望得到更直接的方法。

编程的人,往往”没有最好,只有更好“的。


--  作者:涛声依旧5666
--  发布时间:2014/10/1 0:41:00
--  

经验证,是可以添加控件了,但数据绑定还是不成功。还望甜老师抽空指教一下。

 

Dim txt As WinForm.TextBox
txt = Forms("窗口1").CreateControl("TextBox1", ControlTypeEnum.TextBox)
txt.Left = 100
txt.Top = 100
txt.Dock = System.Windows.Forms.DockStyle.Top
txt.BindingField = "行政区域.县市"                \'错误信息: 未将对象引用指向对象实例

Dim 面板 As C1.Win.C1Command.C1DockingTabPage = Tables("行政区域").grid.parent

面板.controls.add(txt.Basecontrol)