以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  当某个表加载后,这个表的主窗口种没有窗口表控件,那么某个控件就不可用,这个代码怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89094)

--  作者:lovemaders
--  发布时间:2016/8/15 17:55:00
--  当某个表加载后,这个表的主窗口种没有窗口表控件,那么某个控件就不可用,这个代码怎么写
当某个表加载后,这个表的主窗口种没有窗口表控件,那么某个控件就不可用,这个代码怎么写

--  作者:大红袍
--  发布时间:2016/8/15 18:03:00
--  

 判断窗口是否有窗口表?

 

Dim frm As WinForm.Form = Forms("窗口1")
Dim flag As Boolean = True
For Each c As object In frm.Controls
    If typeof c Is winform.Table Then
        flag = False
        Exit For
    End If
Next

某控件.Enabled = flag


--  作者:lovemaders
--  发布时间:2016/8/15 19:19:00
--  改个简单的,这个代码怎么改

改个简单的,这个代码怎么改
图片点击可在新窗口打开查看此主题相关图片如下:74.png
图片点击可在新窗口打开查看

在主表切换事件中,当主表切换成主界面的时候   a  是否编辑

 

 

暂时知道了用.name属性,

[此贴子已经被作者于2016/8/15 20:05:59编辑过]

--  作者:lovemaders
--  发布时间:2016/8/15 20:29:00
--  下面这句代码在主表切换后事件中的全部代码,打开项目的时候出错

Dim a As winform.button = Forms("顶部共有窗口").controls("锁定解锁表")

 If MainTable.name = "主界面" Then
   a.enabled = False
 Else
   a.enabled = True
 End If

 

 

这是全部这个事件的代码了,在打开项目的时候出错,问题会出在哪里呢


--  作者:大红袍
--  发布时间:2016/8/15 20:43:00
--  

 这样也可以。

 

If MainTable.Equals(Tables("表A")) then
    msgbox("123")
End If


--  作者:lovemaders
--  发布时间:2016/8/15 21:11:00
--  打开项目的时候出错


图片点击可在新窗口打开查看此主题相关图片如下:99.png
图片点击可在新窗口打开查看

 

 

 

 

Dim a As winform.button = Forms("顶部共有窗口").controls("锁定解锁表")
If MainTable.Equals(Tables("主界面")) Then
   a.enabled = False
 Else
   a.enabled = True
End If

[此贴子已经被作者于2016/8/15 21:13:30编辑过]

--  作者:lovemaders
--  发布时间:2016/8/15 21:14:00
--  好像是初始加载表的问题?
但是我的项目初始必须最少加载这个主界面表,怎么办
--  作者:大红袍
--  发布时间:2016/8/15 21:46:00
--  

 方法一

 

Dim a As winform.button = Forms("顶部共有窗口").controls("锁定解锁表")
If MainTable.Name = "主界面"  Then
   a.enabled = False
 Else
   a.enabled = True
End If

 

 方法二

 

Dim a As winform.button = Forms("顶部共有窗口").controls("锁定解锁表")
If Tables.Contains("主界面") AndAlso MainTable.Equals(Tables("主界面")) Then
   a.enabled = False
 Else
   a.enabled = True
End If