Foxtable(狐表)用户栏目专家坐堂 → 控件的属性用什么代码获得呢?


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

主题:控件的属性用什么代码获得呢?

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


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
控件的属性用什么代码获得呢?  发帖心情 Post By:2013/10/30 15:39:00 [只看该作者]

如题?

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/30 15:44:00 [只看该作者]

你想获取控件的什么属性?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/30 15:45:00 [只看该作者]

帮助里面每个控件的属性都有详细说明哦,写代码的时候精灵也有提示


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


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By: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。


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


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By: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


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


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/10/30 16:07:00 [只看该作者]

是窗口所有控件的控件类型,因为权限管理里,我想用控件类型的字段做筛选

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/30 16:11:00 [只看该作者]

For Each c As WinForm.Control In e.Form.Controls
      MessageBox.show(c.Gettype().Tostring())
Next

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


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By: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!


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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2013/10/30 17:07:00 [只看该作者]

提个瞎建议

用控件的命名来控制

开始字符

A——全开放

B——操作权

 


 回到顶部
帅哥哟,离线,有人找我吗?
晕了快扶我
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2013/10/30 17:23:00 [只看该作者]

以下是引用逛逛在2013-10-30 17:07:00的发言:

提个瞎建议

用控件的命名来控制

开始字符

A——全开放

B——操作权

 

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


 回到顶部
总数 12 1 2 下一页