以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口中控制设置属性?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5993)

--  作者:烟酒
--  发布时间:2010/2/23 16:37:00
--  [求助]窗口中控制设置属性?
如果窗口中有多个分区面板,在多分区面板中有一table,如何代码取得该table并设置其属性?谢谢!
[此贴子已经被作者于2010-2-23 16:46:30编辑过]

--  作者:程兴刚
--  发布时间:2010/2/23 17:27:00
--  
设置属性不考虑分区面板,动态添加或删除控件才会引用到容器(分区面板)!

Table的双重身份

窗口中的Table具备双重身份,使用不同身份时,类型不同,名称也不同。

作为控件

当作为窗口中的控件时,其类型为WinForm.Table,名称就是设计窗口时赋予的名称。

示例

Dim t As WinForm.Table = e.Form.Controls("Table1")
t.SetBounds(
0,0,400,300)

作为Table

当作为普通的Table使用的时候,其类型自然是Table。
至于名称则要区分两种情况。

如果类型为Normal,且非副本,此时窗口并不会创建新的Table,只是将原来的Table移到窗口中显示,所以其名称自然就等于绑定的Table名称。
例如将订单表移到主窗口后,对其的调用还是和原来一样:

Tables("订单").AllowEdit = True

如果类型为Normal,且为副本,或者类型为SQLTable、SQLQuery,此时窗口会创建一个新的Table,此新Table的名称为:

窗口名称_控件名称

假定这个Table的名称为Table1,且在窗口1中,那么代码中必须使用“窗口1_Table1”的名称来调用此Table:

Tables("窗口1_Table1").AllowEdit = False

[此贴子已经被作者于2010-2-23 17:27:47编辑过]

--  作者:烟酒
--  发布时间:2010/2/23 18:37:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
我窗口放在分区面板中,无论table1设置为何种类型,都提示如上!
谢谢~

--  作者:czy
--  发布时间:2010/2/23 18:46:00
--  
Forms("窗口1").Controls("Table1").Visible = false
--  作者:烟酒
--  发布时间:2010/2/23 20:23:00
--  

OK了
谢谢C版本及程版

[此贴子已经被作者于2010-2-23 20:24:50编辑过]