以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 判断窗口下的所有控件的.Value都不为空 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154119) |
-- 作者:lovepisss -- 发布时间:2020/9/4 1:15:00 -- 判断窗口下的所有控件的.Value都不为空 请问如何简单的判断窗口下的所有控件的.Value都不为空? 我的做法: With Forms("t_x_新增购置计划") If .Controls("TextBox序号").Value Is Nothing OrElse .Controls("NumericComboBox购置计划").Value Is Nothing OrElse .Controls("TextBox记录人").Value Is Nothing OrElse .Controls("DateTimePicker记录时间").Value Is Nothing Then ... End With |
-- 作者:有点蓝 -- 发布时间:2020/9/4 9:40:00 -- 窗口:http://www.foxtable.com/webhelp/topics/1849.htm |
-- 作者:WELOVEFOX -- 发布时间:2020/9/4 9:48:00 -- For Each c As WinForm.Control In e.Form.Controls If Typeof c Is WinForm.TextBox Then \'判断控件是否是文本框 Dim t As WinForm.TextBox = c \'使用特定类型的变量引用控件 If t.Value = Nothing Then MessageBox.Show("文本控件不能为空!") t.Select() Return End If End If Next For Each c As WinForm.Control In e.Form.Controls If Typeof c Is WinForm.ComboBox Then \'判断控件是否是文本框 Dim t As WinForm.ComboBox = c \'使用特定类型的变量引用控件 If t.Value = Nothing Then MessageBox.Show("组合框不能为空!") t.Select() Return End If End If Next For Each c As WinForm.Control In e.Form.Controls If Typeof c Is WinForm.DateTimePicker Then \'判断控件是否是文本框 Dim t As WinForm.DateTimePicker = c \'使用特定类型的变量引用控件 If t.Value = Nothing Then MessageBox.Show("日期框不能为空!") t.Select() Return End If End If Next [此贴子已经被作者于2020/9/4 9:48:38编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/9/4 10:10:00 -- 合并为一段代码即可 For Each c As object In e.Form.Controls If Typeof c Is WinForm.TextBox OrElse Typeof c Is WinForm.ComboBox OrElse Typeof c Is WinForm.DateTimePicker Then \'判断控件是否是文本框 If c.Value = Nothing Then MessageBox.Show(c.name & "控件不能为空!") c.Select() Return End If End If Next |
-- 作者:lovepisss -- 发布时间:2020/9/4 12:14:00 -- 回复:(有点蓝)窗口:http://www.foxtable.com/webh... 谢谢蓝大! |
-- 作者:lovepisss -- 发布时间:2020/9/4 12:14:00 -- 回复:(WELOVEFOX)For Each c As WinForm.Control I... 谢谢大佬 |
-- 作者:lovepisss -- 发布时间:2020/9/4 12:39:00 -- 回复:(有点蓝)窗口:http://www.foxtable.com/webh... 蓝大,我看了帮助页,里面提到 “如果我希望清除窗口中所有文本框的内容,…,但是遍历控件的时候,只能使用WinForm.Control类型的变量,” 教学代码如下 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 请问为什么不可以写成 For Each c As WinForm.TextBox In e.Form.Controls …
|
-- 作者:有点蓝 -- 发布时间:2020/9/4 13:36:00 -- 因为有些控件可能不是WinForm.TextBox |