以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  想判断一个按钮是否存在  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=99938)

--  作者:zhangchi96
--  发布时间:2017/4/30 15:01:00
--  想判断一个按钮是否存在

If RibbonTabs.Contains("管理员") Then                        ‘判断功能区是否存在

 

If Tables.Contains("本地教职工") = True Then                  \'判断一个表是否存在


If 开始年月.ComboList.Contains( 开始年月”) = True Then    判断一个下拉菜单名是否存在 

 

如果要想判断一个按钮button是否存在,请问,应该怎么写?


--  作者:wyz20130512
--  发布时间:2017/4/30 20:37:00
--  
For Each c As WinForm.Control In e.Form.Controls
    If Typeof c Is WinForm.Button Then \'判断控件是否是按钮
        Dim b As WinForm.Button = c
        If b.Name = "XXX" Then
            ...
        End If
    End If
Next
[此贴子已经被作者于2017/4/30 20:46:19编辑过]

--  作者:zhangchi96
--  发布时间:2017/4/30 22:24:00
--  
这个写法和我的代码不太搭,我是要在下面红色部分修正一下

Dim I As Integer
Dim m As String
Dim n As Integer = 20

For i = 1 To n
    m = format( i , "00" )

   \' If  。。。。。。。。.Contains( "组合钮" & m ) Then  \'判断一个[按钮]是否存在
        Dim 组合钮名称 As WinForm.Button = Forms("部门查阅窗体").Controls( "组合钮" & m )     \'命名按钮
        If 组合钮名称.text.Contains("√") Then
           组合钮名称.PerformClick()
        End If
   \' End If
Next

--  作者:有点色
--  发布时间:2017/5/2 9:36:00
--  

 如果是form里面的按钮,直接写 Forms("窗口1").Controls.Contains("xxx")

 

 如果是某个菜单的,你要这样写,如

 

msgbox(e.Form.strips("主菜单").Items.contains("项目1"))
msgbox(e.Form.strips("主菜单").Items("项目1").items.contains("项目1"))