以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]条件判断的难题,求助~~~~ (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=19401) |
-- 作者:qq121454970 -- 发布时间:2012/5/8 17:11:00 -- [求助]条件判断的难题,求助~~~~ 想请教一个问题,可不可以在窗口中的文本框(会员名称)中的Validating属性里用一段代码,可以达到我想要的效果, 我用的是独占式编辑,在窗口A中的“会员名称”文本框中 如果离开文本框时,但是并没有修改数据的话,则不执行我的代码,如果修改了文本框中的数据,在离开文本框时,则执行我的代码
详细说明: 在文本框中的Validating中的代码 ’如果文本框中的数据被修改,则执行下面这段代码,如果没被修改,则不执行下面的代码 If e.Form.Controls("会员名称").Value = "" Then 这个判断到底该怎么做,求解决哈 [此贴子已经被作者于2012-5-8 17:14:55编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2012/5/8 18:01:00 -- 应该在确定按钮判断,例如: "确定"按钮的代码设置为: Dim UserName As String = e.Form.Controls("UserName").Value Dim UserGroup As String = e.Form.Controls("UserGroup").Value Dim PassWord As String = e.Form.Controls("PassWord").Value Dim cmd As New SQLCommand cmd.C If UserName = "" OrElse UserGroup = "" Then Messagebox.show("请输入用户名和用户分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If cmd.CommandText = "Select Count(*) From {Users} Where Name = \'" & UserName & "\'" If cmd.ExecuteScalar > 0 Then Messagebox.show("增加用户失败,已经能存在同名用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If cmd.CommandText = "Insert Into {Users} ([Name],[Group],[Password]) Values (\'" cmd.CommandText = cmd.CommandText & UserName & "\',\'" & UserGroup & "\',\'" & Password & "\')" If cmd.ExecuteNonQuery = 1 Then \'返回1表示增加成功 If Forms("用户管理").Opened Then With Forms("用户管理").Controls("ListBox1") .Items.Add(UserName) .SelectedIndex = .Items.Count -1 End With End If e.Form.Close() End If |
-- 作者:qq121454970 -- 发布时间:2012/5/8 18:05:00 -- 回复:(狐狸爸爸)应该在确定按钮判断,例如:?... 我要判断的是内容是否被修改(文本框是绑定到列的)。也可以用这种?可以给我一个例子吗? [此贴子已经被作者于2012-5-8 18:06:20编辑过]
|
-- 作者:qq121454970 -- 发布时间:2012/5/8 22:04:00 -- 在线等待中...... |
-- 作者:狐狸爸爸 -- 发布时间:2012/5/8 22:15:00 -- 你在可以Enter事件中将当前值写入一个public变量或Var变量,在Validating事件中将当前值和这个变量进行比较,就知道是否已经做出修改了。
|
-- 作者:qq121454970 -- 发布时间:2012/5/9 12:33:00 -- 可以给我一个具体的例子吗?我是新手 |
-- 作者:qq121454970 -- 发布时间:2012/5/10 11:12:00 -- 回复:(狐狸爸爸)你在可以Enter事件中将当前值写入一... 狐爸,你是我的天使,救救我吧 |
-- 作者:狐狸爸爸 -- 发布时间:2012/5/10 11:58:00 -- 定义一个全局变量,在全局代码中加入代码:
Public hjjk As String
在这个文本框的Enter事件中设置代码:
hjjk = e.Sender.Value
在Valdating事件中:
If hjjk = e.Sender.Value Then Messagebox.Show("你改了啊") End If
定义全局变量,参考: http://www.foxtable.com/help/topics/1842.htm
End if |