以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 光标问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92510) |
||||
-- 作者:刘林 -- 发布时间:2016/11/5 11:41:00 -- 光标问题 If e.KeyCode = Keys.Enter Then e.sender.WriteValue If e.Form.controls("CheckBox2").checked = False And e.Form.Controls("checkbox4").checked = True Then If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If e.Form.Controls("textbox6").Selectall End If If e.Form.controls("CheckBox2").checked = False And e.Form.Controls("checkbox4").checked = False Then If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If e.sender.Selectall End If If e.Form.controls("CheckBox2").checked = True Then e.Form.Controls("textbox5").Selectall End If End If 老师,上面代码是想在输入时根据情况判断将光标自动移到指定TEXTBOX中,方便录入,但红色代码不能实现,而是光标移到了一个命令按钮上,请问什么原因,谢谢
|
||||
-- 作者:刘林 -- 发布时间:2016/11/5 11:42:00 -- 另外如何设置文本框中输入的最大值,比如大于多少就取消 |
||||
-- 作者:有点蓝 -- 发布时间:2016/11/5 12:07:00 -- e.Form.Controls("textbox6").Select |
||||
-- 作者:有点蓝 -- 发布时间:2016/11/5 12:23:00 -- 控件Validating事件 If val(e.Sender.Text) > 100 Then msgbox("超出") e.Sender.Select e.Sender.Text = "" Else e.Sender.Error ="" End If |
||||
-- 作者:刘林 -- 发布时间:2016/11/5 12:45:00 -- 这个试了还是不行,老师,我现在主要是因为有可能教师上分时不按考号上,而是拿着试卷直接上分,那么就需要输入考号找到该学生来上分,为方便,可选考号中任意几个连续数输入找到,上分时有几种情况,一是只上A,连号上或选号上,一种是只上B,连号上或选号上,三是同时上AB,连号上或选号上,另外在text4,5中按TEXT2,3设置最大值录入,超过则重新输入,因准备下周半期考试试一下,改了很久还是改不好,很着急,现在主要原因是在TEXT4回车时焦点不能回到txte6,请帮我调整下,(原设计的语音校正都略了)谢谢 |
||||
-- 作者:刘林 -- 发布时间:2016/11/5 12:46:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2016/11/5 14:32:00 -- If e.KeyCode = Keys.Enter Then e.sender.WriteValue If e.Form.controls("CheckBox2").checked = False And e.Form.Controls("checkbox4").checked = True Then If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If e.Form.Controls("textbox6").Select End If If e.Form.controls("CheckBox2").checked = False And e.Form.Controls("checkbox4").checked = False Then If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If e.sender.Select End If If e.Form.controls("CheckBox2").checked = True Then e.Form.Controls("textbox5").Select End If e.Cancel = True End If
|
||||
-- 作者:刘林 -- 发布时间:2016/11/5 17:37:00 -- 蓝导你好,上面项目的问题是:一、text4,5的值不能按text2,3设置限制。二、是焦点不按预想的移动,如当只输入A卷时,如果check4.checked=true,我想焦点移动到text6,这样再输入考号查找到要录入的学生,继续回车后录入其A卷,但光标不这样移,而是到了一个按钮上,这样要手动移动至text6,效益不高了。请老师帮看下项目2,谢谢 |
||||
-- 作者:有点蓝 -- 发布时间:2016/11/5 17:55:00 -- TextBox4 Validating事件 If val(e.Sender.Text) > val(e.Form.Controls("TextBox2").text) Then msgbox("超出范围") e.Sender.Select e.Sender.Text = "" Else e.Sender.Error ="" End If KeyDown If e.KeyCode = Keys.Enter Then e.sender.WriteValue If e.Form.controls("CheckBox1").checked = False If e.Form.Controls("checkbox4").checked = True Then If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If e.Form.Controls("textbox6").Select Else If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If e.sender.Select End If Else If val(e.Sender.Text) > val(e.Form.Controls("textbox2").text) Then msgbox("超出") e.Sender.Select e.Sender.Text = "" Else e.Form.Controls("textbox5").Select End If End If e.Cancel = True End If |
||||
-- 作者:刘林 -- 发布时间:2016/11/5 23:49:00 -- Dim sp As New DotNetSpeech.SpVoice() sp.rate = 8 If e.KeyCode = Keys.Enter Then e.sender.WriteValue If val(e.Sender.Text) > val(e.Form.Controls("textbox2").text) Then If e.Form.Controls("CheckBox3").checked = True \'\'msgbox("超出范围") sp.Speak("输入值大了", DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync) End If e.Sender.Select e.Sender.Text = "" Else If e.sender.text = "" e.sender.value = "0" End If If e.Form.Controls("CheckBox3").checked = True sp.Speak(e.sender.value, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync) End If If e.Form.Controls("checkbox2").checked =True e.Form.Controls("textbox5").Select Else If Tables("上分_table1").Position < Tables("上分_table1").Rows.Count-1 Then Tables("上分_table1").Position += 1 End If If e.Form.Controls("checkbox4").checked =True e.Form.Controls("textbox6").Select Else e.sender.Select End If End If End If e.Cancel = True End If 老师,谢谢你帮助,我改成了上面的结果可实现语音了,现在有一个问题,我在菜单中有几个按钮用于打开几个主窗口,但每次按都要重新打开一次对应窗口,有什么办法可以判断如果先打开了的就显出来就是了,这样减少加载负担。谢谢
|