Foxtable(狐表)用户栏目专家坐堂 → 关于全部文本框不可编辑问题


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

主题:关于全部文本框不可编辑问题

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


加好友 发短信
等级:小狐 帖子:367 积分:2805 威望:0 精华:0 注册:2015/4/12 12:13:00
关于全部文本框不可编辑问题  发帖心情 Post By:2015/6/10 14:49:00 [显示全部帖子]

无法将类型为“Foxtable.WinForm.Label”的对象强制转换为类型“Foxtable.WinForm.TextBox”。

错误如上,代码如下,怎么修改

e.Form.Controls("Txt料号").value=mparno
For Each MyForm As WinForm.TextBox In e.Form.Controls
    If Typeof Myform Is winform.textbox Then
        Dim Mc As winform.textbox =myform
        mc.Enabled= False
    End If
Next

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


加好友 发短信
等级:小狐 帖子:367 积分:2805 威望:0 精华:0 注册:2015/4/12 12:13:00
  发帖心情 Post By:2015/6/10 15:02:00 [显示全部帖子]

以下是引用Bin在2015/6/10 14:50: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。

本节介绍的派生原理,不仅适合窗口设计,也适合今后要介绍的菜单设计。



 回到顶部