以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  MessageBox的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88626)

--  作者:hongyefor
--  发布时间:2016/8/6 10:31:00
--  MessageBox的问题

Dim kh As WinForm.TextBox = e.Form.Controls("款号")
Dim mc As WinForm.TextBox = e.Form.Controls("客户")
For i As Integer = 0 To 1
    Dim Te() As String ={kh.name,mc.name }
    Dim sts() As String = {kh.text,mc.text }
    For Each st As String In sts
        If  st = "" Then
            MessageBox.Show( ""& te(i) &" 是空值,请输入 "& te(i) &"!")
            Return
        End If
    Next
Next

 

目的:如果e.Form.Controls("款号")和e.Form.Controls("客户")里都有值则下一步

如果其中有一个空值或者全部空值,则提示哪个控件是空值,并返回

现在问题:除了“如果e.Form.Controls("款号")和e.Form.Controls("客户")里都有值则下一步”没有问题

1、提示显示不正确,如果已经输入其中一项还是提示是空值

2、加上Return后只显示一个提示不管对错,就算两个全空,也只显示一个提示

请帮忙看看,这个代码哪里出了问题


--  作者:cbt
--  发布时间:2016/8/6 11:28:00
--  
Dim Te() As String ={"款号","客户"}
For i As Integer = 0 To te.Length-1
    If e.Form.Controls(te(i)).text = "" Then
        MessageBox.Show( ""& te(i) &" 是空值,请输入 "& te(i) &"!")
        Return
    End If
Next
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.table


--  作者:Hyphen
--  发布时间:2016/8/6 14:13:00
--  

Dim s As String
If Not(e.Form.Controls("款号").Text > "") Then
    s = "款号"
End If
If Not(e.Form.Controls("客户").Text > "") Then
    s = s & ",客户"
End If
If s > "" Then
    s = s.TrimStart(",") 
    MessageBox.Show( s & " 是空值,请输入 " & s)
    Return
End If