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


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

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

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


加好友 发短信
等级:童狐 帖子:261 积分:2189 威望: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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/7 19:10:00 [只看该作者]

应该不会啊
ValueChanged是要光标离开文本框才执行的

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/7 19:13:00 [只看该作者]

Dim pbx AS WinForm.PictureBox
pbx = Forms("窗口1").Controls("PictureBox1")


你用

If  mm.Value = "123456" Then
pbx.Image = GetImage("正确.bmp")
else
pbx.Image = GetImage("错误.bmp")
end if

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/7 20:30:00 [只看该作者]

写到TextChanged事件。

 

mm.Value 改成 mm.Text


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


加好友 发短信
等级:童狐 帖子:261 积分:2189 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 21:22:00 [只看该作者]

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


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/7 21:27:00 [只看该作者]

不会吧,传示列上来看看

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


加好友 发短信
等级:童狐 帖子:261 积分:2189 威望: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:261 积分:2189 威望: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:261 积分:2189 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2015/8/7 21:48:00 [只看该作者]

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

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


加好友 发短信
等级:童狐 帖子:261 积分:2189 威望: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

 回到顶部
总数 12 1 2 下一页