以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  控件的属性用什么代码获得呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41932)

--  作者:晕了快扶我
--  发布时间:2013/10/30 15:39:00
--  控件的属性用什么代码获得呢?

如题?

 


--  作者:Bin
--  发布时间:2013/10/30 15:44:00
--  
你想获取控件的什么属性?
--  作者:Bin
--  发布时间:2013/10/30 15:45:00
--  
帮助里面每个控件的属性都有详细说明哦,写代码的时候精灵也有提示


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


--  作者:程兴刚
--  发布时间:2013/10/30 15:46:00
--  

仅供参考:

 

判断控件类型

如果我希望清除窗口中所有文本框的内容,显然只能使用遍历才能完成这样的任务。
但是遍历控件的时候,只能使用WinForm.Control类型的变量,但是这样的变量又不能访问文本框的Value属性。
所以只能在遍历控件的时候判断控件类型,然后用具体的控件类型变量来引用控件:

For Each c As WinForm.Control In e.Form.Controls
    If
Typeof c Is WinForm.TextBox Then \'判断控件是否是文本框
       
Dim t As WinForm.TextBox = c \'使用特定类型的变量引用控件
        t.Value =
Nothing
    End
If
Next

判断变量是否是某类型的语法是:

Typeof 变量 Is 类型

如果变量是指定的类型则返回True,否则返回False。


--  作者:晕了快扶我
--  发布时间:2013/10/30 16:05:00
--  
以下是引用程兴刚在2013-10-30 15:46:00的发言:

仅供参考:

 

判断控件类型

如果我希望清除窗口中所有文本框的内容,显然只能使用遍历才能完成这样的任务。
但是遍历控件的时候,只能使用WinForm.Control类型的变量,但是这样的变量又不能访问文本框的Value属性。
所以只能在遍历控件的时候判断控件类型,然后用具体的控件类型变量来引用控件:

For Each c As WinForm.Control In e.Form.Controls
    If
Typeof c Is WinForm.TextBox Then \'判断控件是否是文本框
       
Dim t As WinForm.TextBox = c \'使用特定类型的变量引用控件
        t.Value =
Nothing
    End
If
Next

判断变量是否是某类型的语法是:

Typeof 变量 Is 类型

如果变量是指定的类型则返回True,否则返回False。

程老师,我是希望在遍历控件的时候顺便把控件类型也遍历出来,请帮忙修改下代码吧

 

For Each f As WinForm.Form In Forms
    If f.Opened Then
        For Each fc As WinForm.Control In f.Controls
            Dim dr As DataRow = DataTables("窗口控件").Find("窗口名 = \'" & e.Form.Name & "\' And 控件名 = \'" & fc.Name & "\'")
            If dr Is Nothing Then
                dr = DataTables("窗口控件").AddNew()
                dr("窗口名") = e.Form.Name
                dr("控件名") = fc.Name

dr("控件类型") = ??
            End If
            For Each r As DataRow In DataTables("窗口控件").DataRows
                If r("控件名") = "" Then
                    r.Delete
                End If
            Next
            DataTables("窗口控件").Save
        Next
    End If
Next


--  作者:晕了快扶我
--  发布时间:2013/10/30 16:07:00
--  
是窗口所有控件的控件类型,因为权限管理里,我想用控件类型的字段做筛选
--  作者:Bin
--  发布时间:2013/10/30 16:11:00
--  
For Each c As WinForm.Control In e.Form.Controls
      MessageBox.show(c.Gettype().Tostring())
Next

--  作者:晕了快扶我
--  发布时间:2013/10/30 17:03:00
--  
以下是引用Bin在2013-10-30 16:11:00的发言:
For Each c As WinForm.Control In e.Form.Controls
      MessageBox.show(c.Gettype().Tostring())
Next

TKS!


--  作者:逛逛
--  发布时间:2013/10/30 17:07:00
--  

提个瞎建议

用控件的命名来控制

开始字符

A——全开放

B——操作权

 


--  作者:晕了快扶我
--  发布时间:2013/10/30 17:23:00
--  
以下是引用逛逛在2013-10-30 17:07:00的发言:

提个瞎建议

用控件的命名来控制

开始字符

A——全开放

B——操作权

 

那操作权也要分用户组和用户的啊,代码会不会更繁琐?