Foxtable(狐表)用户栏目专家坐堂 → 请教关于判断控件值的问题


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

主题:请教关于判断控件值的问题

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


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
请教关于判断控件值的问题  发帖心情 Post By:2012/12/25 20:45:00 [只看该作者]

 想请教下狐表的前辈,除了用IF去判断窗口中控件的VALUE属性外。
用Select Case如何写???
我这样写对么??以下是我在一个窗口的按钮点击事件中添加的代码,在窗口的文本框输入数值时不写入列中,直到点击确认按钮启动下面的事件再进行添加数据操作。
Dim 111 As String = e.Form.Controls("TextBox1").Value '给当前窗口的控件赋值
Dim 222 As String = e.Form.Controls("TextBox2").Value
Select Case e.Form.Controls
    Case "TextBox1"
        If 111 Is Nothing Then '判断如果该控件没有输入数值
    MessageBox.Show("你没有输入数据,请输入.", "错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Form.Controls("TextBox1").Select() '提示并将光标焦点置于该控件
    End If
    Case "TextBox2"
        If 222 Is Nothing Then '判断如果该控件没有输入数值
    MessageBox.Show("你没有输入数据,请输入.", "执行错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Form.Controls("TextBox2").Select() '提示并将光标焦点置于该控件
    End If
    Case Else
CurrentTable.Current("型号") =  e.Form.Controls("TextBox1").Value
CurrentTable.Current("规格") =  e.Form.Controls("TextBox2").Value
CurrentTable.Current.Save() '保存当前行
CurrentTable.AddNew() '新增一行用于连续输入数据
e.Form.Controls("TextBox1").Select() '焦点定位
End Select
请各位前辈指教啊。。。

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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/12/25 21:35:00 [只看该作者]

Dim 111 As String = e.Form.Controls("TextBox1").Value '给当前窗口的控件赋值
Dim 222 As String = e.Form.Controls("TextBox2").Value

if 111 ="" or 222="" then


end if

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


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2012/12/25 22:03:00 [只看该作者]

 呃。用Select Case写法的话。取值应该如何????

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/26 9:38:00 [只看该作者]

 Dim 111 As String = e.Form.Controls("TextBox1").Value '给当前窗口的控件赋值
Dim 222 As String = e.Form.Controls("TextBox2").Value

If 111 Is Nothing Then '判断如果该控件没有输入数值
    MessageBox.Show("你没有输入数据,请输入.", "错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
    e.Form.Controls("TextBox1").Select() '提示并将光标焦点置于该控件
Else If 222 Is Nothing Then '判断如果该控件没有输入数值
    MessageBox.Show("你没有输入数据,请输入.", "执行错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
Else
    CurrentTable.Current("型号") =  e.Form.Controls("TextBox1").Value
    CurrentTable.Current("规格") =  e.Form.Controls("TextBox2").Value
    CurrentTable.Current.Save() '保存当前行
    CurrentTable.AddNew() '新增一行用于连续输入数据
    e.Form.Controls("TextBox1").Select() '焦点定位
End If


 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2012/12/26 11:21:00 [只看该作者]

  LIN,对于窗口中控件值的判断是否只能使用IF语句???

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


加好友 发短信
等级:五尾狐 帖子:1085 积分:8220 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2012/12/26 11:40:00 [只看该作者]

Dim kjmc() As String '控件名称
Dim kjmcjh As String = "Button1,Button2,Button3,Button4,Button5,Button6,Button7,Button8,Button9,Button10,Button11,Button01,Button02" '控件名称集合
kjmc = kjmcjh.split(",")
For i As Integer=0 To kjmc.Length-1
    e.Form.Controls(kjmc(i)).BackColor = Color.fromargb(170,181,207,248)
           
Next

 

参照这个改改就可以,,,定义一个字符串,然后用SPLIT将其分到数组,,,,批量判断即可。。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/26 11:58:00 [只看该作者]

以下是引用不倒的翁在2012-12-26 11:21:00的发言:
  LIN,对于窗口中控件值的判断是否只能使用IF语句???


判断为空可以向上面那样。

不是因为不能使用select case,而是If更简单方便。

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2012/12/26 12:42:00 [只看该作者]

学习了。感谢LIN和unverse

 回到顶部