Foxtable(狐表)用户栏目专家坐堂 → [求助]密码框 显示图片的问题


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

主题:[求助]密码框 显示图片的问题

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
[求助]密码框 显示图片的问题  发帖心情 Post By:2015/8/7 18:50:00 [显示全部帖子]

一个窗口,一个文本框,用于输入密码。两个图片框,一个正确,一个错误。
要实现,输入密码正确时,就显示 正确的图片框。  结果 为什么 只能显示正确的图片,输入错误时,错误的图片却不显示。

我在窗口 afterload 写如下代码 : 
e.Form.Controls("PictureBox1").Visible = False
e.Form.Controls("PictureBox2").Visible = False

在value changed  写入:
Dim mm As WinForm.TextBox = e.Form.Controls("密码")
If  mm.Value = "123456" Then
    e.Form.Controls("PictureBox1").Visible = True
    e.Form.Controls("PictureBox2").Visible = False
End If
If mm.Value <> "123456" Then
    e.Form.Controls("PictureBox1").Visible = False
    e.Form.Controls("PictureBox2").Visible = True
End If


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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 21:22:00 [显示全部帖子]

很遗憾,两个人的回复,都没有解决问题。。不过感谢了


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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 21:39:00 [显示全部帖子]

反复 测试 无意中得到正确答案: 感谢有点蓝,你的思路。代码简化了


Dim mm As WinForm.TextBox = e.Form.Controls("密码")
Dim pbx As WinForm.PictureBox = e.Form.Controls("PictureBox1")
Select Case mm.Value
    Case mm.Value Is Nothing
        pbx.Visible = False
    Case mm.Value = "123456"
        pbx.Visible = True
        pbx.Image = GetImage("对勾.png")
    Case mm.Value <> "123456"
        pbx.Visible = True
        pbx.Image = GetImage("关闭.png")
End Select

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 21:44:00 [显示全部帖子]

 Case mm.Value Is Nothing
        pbx.Visible = False                       这一句有没有意义,值得思考,不过太累了。不想在弄了。 打开窗口时,密码就是空值。
我在窗口 afterload 写如下代码 : 
e.Form.Controls("PictureBox1").Visible = False  好象没有必要在加上这一句。

  在value changed  写入:
Dim mm As WinForm.TextBox = e.Form.Controls("密码")
Dim pbx As WinForm.PictureBox = e.Form.Controls("PictureBox1")
Select Case mm.Value
       Case mm.Value = "123456"
        pbx.Visible = True
        pbx.Image = GetImage("对勾.png")
    Case mm.Value <> "123456"
        pbx.Visible = True
        pbx.Image = GetImage("关闭.png")
End Select

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 21:48:00 [显示全部帖子]

新的问题出现:  如果你输入的是数字,运行正确。 如果你输入的是 km123456 这时弹出: 从字符串“km123456”到类型“Boolean”的转换无效。 无语

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 22:05:00 [显示全部帖子]

正确代码:
窗口 afterload 
e.Form.Controls("PictureBox1").Visible = False  

value changed 写入 :
Dim mm As WinForm.TextBox = e.Form.Controls("密码")
Dim pbx As WinForm.PictureBox = e.Form.Controls("PictureBox1")

If  mm.value = "gs123456" Then
    pbx.Visible = True
    pbx.Image = GetImage("对勾.png")
Else
    pbx.Visible = True
    pbx.Image = GetImage("关闭.png")
End If

 回到顶部