以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何用代码获取全部下拉窗口的ComboListString?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=136869)

--  作者:诚学思行
--  发布时间:2019/6/23 14:51:00
--  如何用代码获取全部下拉窗口的ComboListString?
如何用代码获取全部下拉窗口的ComboListString?
--  作者:有点甜
--  发布时间:2019/6/23 16:57:00
--  

1、需要把窗口打开;

 

2、循环每一个控件,如果是combobox的,读取其combolist属性值。


--  作者:诚学思行
--  发布时间:2019/6/23 23:05:00
--  回复:(有点甜)1、需要把窗口打开; 2、循...

我没说清楚,

我是想获取项目的下拉窗口列表。(下拉窗口1|下拉创口2|……|下拉窗口n)


--  作者:有点甜
--  发布时间:2019/6/24 10:43:00
--  

参考

 

For Each f As WinForm.Form In forms
    output.show(f.name & " " & f.TableName & " " & f.opened & " " & f.formstyle)
Next


--  作者:诚学思行
--  发布时间:2019/6/25 8:56:00
--  回复:(有点甜)参考 For Each f As WinFor...

我参考了你以前回答别人的帖子

 

做了一个函数【获取窗口类型】

Dim strFormName As String = Args(0)
Dim frm As WinForm.Form = Forms(strFormName)
Dim strFormType As String = [Enum].getName(Gettype(FormStyleEnum), frm.FormStyle)    \'窗口类型
Return strFormType

 

但是这样貌似还是没有正确获取窗口类型名称

能识别:模式、独立、主窗口、并列,但是无法识别下拉窗口。

 

貌似把下拉窗口都归类于并列窗口。

我需要的是把并列窗口和下拉窗口再分开列出。


--  作者:有点蓝
--  发布时间:2019/6/25 10:32:00
--  
并列窗口.formstyle = 6,前提是窗口处于打开状态,才能获取正确的值。

For Each f As WinForm.Form In forms
    f.open
    output.show(f.name & " " & f.TableName & " " & f.opened & " " & f.formstyle)
    f.close
Next

建议下拉窗口名称统一使用一个前缀标识一些,如:下拉_窗口1、下拉_窗口2、....这样就可以通过表名进行判断了

--  作者:诚学思行
--  发布时间:2019/6/25 14:38:00
--  回复:(有点蓝)并列窗口.formstyle = 6,前提是窗口...

嗯 这个建议不错!