Foxtable(狐表)用户栏目专家坐堂 → [求助] 求助一段关于判断当前窗口点击控件的代码


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

主题:[求助] 求助一段关于判断当前窗口点击控件的代码

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
[求助] 求助一段关于判断当前窗口点击控件的代码  发帖心情 Post By:2015/8/25 9:46:00 [只看该作者]

如题:

代码意图如下:

 

如果点击了当前窗口的“取消”控件

则  执行“取消”控件的代码内容


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


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

 直接去编写控件的click事件。

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/25 10:07:00 [只看该作者]

If e.Sender.Value IsNot Nothing AndAlso e.Sender.Value<>"请输入用户名" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow
    cmd.C
    cmd.CommandText = "Select * Fr om {用户管理表} Where [用户名] = '" & e.Form.Controls("UserName").Value & "'"
    dt = cmd.ExecuteReader
    If dt.DataRows.Count = 0 Then
        Messagebox.show("此用户名不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        Return
    End If
    dr = dt.DataRows(0)
    e.Form.Controls("UserPhoto").Image = GetImage(dr("用户照片"))
Else
'If e.Forms.controls("Button2").click=True Then
'
'
'Else
    'Messagebox.show("请先输入用户名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
'End If
End If

 

 

红色是想加入的部分,因为:如果登录窗口打开后,输入用户名或者清空用户名后,突然不想进入项目了,就点击取消按钮,这个就发生这种情况:先弹出“请输入用户名”,然后再点击取消才能关闭项目


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


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

1、你的msgbox判断应该写在登陆按钮里面,而不是写在控件leave等事件;

 

2、你不应该用msgbox提示,你可以用label的来提示


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/25 10:21:00 [只看该作者]

红袍兄:1.这段代码是写在用户名的那个textbox的控件vALIDATING事件中的。刚才看了该事件的提示:

但是验证也有例外的时候,例如窗口中通常有一个取消按钮,单击这个按钮,最好不用执行任何控件的Validating事件,否则我明明需要取消操作,却还得在取消之前输入一些内容,这不符合通常的操作习惯。为解决这个问题,只需在窗口设计的时候,将这个按钮的"执行验证"属性设为False即可,该属性位于“行为”分组中。

 

我现在遇到的就是这个情况,明明直接取消就ok 了,系统非要先弹出对话框。

 

所以我想加一段代码:由于判断是不是点击的是取消按钮,如果不是可以弹出对话框,如果是则执行取消代码直接退出


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/25 10:23:00 [只看该作者]

当然,我肯定是想执行一些验证操作的,所以false的解决方案就不接受了


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


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

 不要写Validating事件,或者不要用messagebox弹出消息,换一种提示的方式。

 

 没有其他方法

 

 

 


 回到顶部