Foxtable(狐表)用户栏目专家坐堂 → 如何根据窗口名称获取该窗体下所有按钮的名称?(已解决)


  共有2353人关注过本帖树形打印复制链接

主题:如何根据窗口名称获取该窗体下所有按钮的名称?(已解决)

帅哥哟,离线,有人找我吗?
jiterp
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
如何根据窗口名称获取该窗体下所有按钮的名称?(已解决)  发帖心情 Post By:2015/8/29 21:49:00 [只看该作者]

如何写一行代码获取指定窗体名称下所有按钮的名称
[此贴子已经被作者于2015/9/6 16:45:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 21:52:00 [只看该作者]

For Each c As WinForm.Control  In e.Form.Controls
  msgbox(c.Name)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
jiterp
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2015/8/29 22:11:00 [只看该作者]

If E.Form.Name = "窗口2" Then
Dim a As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim s As String =""
For Each c As WinForm.Control In e.Form.Controls
s = s & "|" & c.name
Next
a.ComboList = s
End If

谢谢有点蓝,再问一下:我是按以上代码是取出了所有的控件的名称,可不可以只取出按钮的名称呀


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:19:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
jiterp
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2015/8/29 22:46:00 [只看该作者]

窗口3有三个按钮分别是Button1、Button2、Button3

在窗口2中设了两个控件:Button1和CheckedComboBox1,我希望在窗口2中执行Button1,CheckedComboBox1下拉框中的多选值分别是Button1、Button2、Button3。

 

我现在Button上写了以下代码,执行后,提示“未将对象引用设置到对象的实例。”错误,这是什么原因呀?

 

Dim sa As WinForm.Form = Forms("窗口3")

Dim a As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim s As String
For Each c As WinForm.Control In sa.Controls
    If Typeof c Is WinForm.Button Then '判断控件是否是按钮

        s = s & "|" & c.name
    End If
Next

a.ComboList = s


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107147 积分:544978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:57:00 [只看该作者]

Dim sa As WinForm.Form = e.Form

 回到顶部
帅哥哟,离线,有人找我吗?
jiterp
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2015/8/29 23:20:00 [只看该作者]

这个是获取当前窗口2的,我想获取窗口3的。

 回到顶部
帅哥哟,离线,有人找我吗?
jiterp
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:715 积分:8574 威望:0 精华:0 注册:2011/11/13 15:49:00
  发帖心情 Post By:2015/8/29 23:32:00 [只看该作者]

自己捉摸出来了,在前面加上一个打开窗口动作,原来获取要打开窗口才可以的。

Forms("窗口3").Open

Dim sa As WinForm.Form = Forms("窗口3")

Dim a As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim s As String
For Each c As WinForm.Control In sa.Controls
If Typeof c Is WinForm.Button Then '判断控件是否是按钮

s = s & "|" & c.name
End If
Next

a.ComboList = s

Forms("窗口3").Close

[此贴子已经被作者于2015/8/29 23:31:54编辑过]

 回到顶部