VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 让程序更智能-自动选择功能的实现
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:8711, 日期:2001-05-04
让程序更智能-自动选择功能的实现


    Windows强大的功能及与用户友好的交互环境使用户操作简单,方便易用。可以说是进出自如。但在要求用户回答问题时,最典型的例子就是当出现有"确定","取消","是","否"等消息框时,总要求用户明确的给出一个回答,然后程序才继续下去。但有时在一些特别的环境下(如多用户共享资源),必须在一定时间内作出回答(否则其他用户有可能因得不到所需的资源而出现系统死锁),才能保证系统的正常运行;或者当要求用户选择时,系统可以根据默认设置来自动选择以继续运行程序。那么就要让程序会自动替用户选择某一个回答。可能吾乃一井底之蛙,在如此大的视窗里从来就没有见过这类东东。那么如何实现呢?且继续看下文。
  
  一、在VFP6.0中的实现
  首先建立一空表单,再加入一时间控制,再加三个按键,其Name属性都按默认,即:Form1,Timer1,Command1,Command2和Command3。在属性窗口中设置属性:Form1.Caption = "自动选择功能演示程序"Timer1.Interval = 1000 && 1000毫秒,即1秒其次建立各控制的事件:
  Form1.Init事件:
  thisform.AddProperty("TimeSetup", 10) &&定义执行自动选择的时间变量Timer1.Timer事件:
  thisform.command1.caption = "自动选择" + str(thisform.TimeSetup) + "秒"thisform.TimeSetup = thisform.TimeSetup - 1if thisform.TimeSetup < 0thisform.command1.click()endifCommand1.Click事件:
  = messagebox("自动选择或人工选择Command1")thisform.TimeSetup = 10
  Command2.Click事件:
  = messagebox("人工选择Command2")thisform.TimeSetup = 10
  Command3.Click事件:
  thisform.release()
  按Ctrl+E执行程序,之后就看你的了。
  
  二、在VB6.0中实现
  首先建立一个标准EXE,加入一时间控制,再加三个按键,其Name属性都按默认,即:Form1,Timer1,Command1,Command2和Command3。在属性窗口中设置属性:
  Form1.Caption = "自动选择功能演示程序"Timer1.Interval = 1000 && 1000毫秒,即1秒
  其次建立各控制的事件代码:
  在代码窗口的“通用”中输入下行Private time As Integer 注释:定义执行自动选择的时间变量
  Private Sub Command1_Click()MsgBox ("自动选择或人工选择command1")time = 10End Sub
  Private Sub Command2_Click()MsgBox ("人工选择command2.")time = 10End Sub
  Private Sub Command3_Click()Unload MeEnd Sub
  Private Sub Form_Load()time = 10 注释:预设定10秒End Sub
  Private Sub Timer1_Timer()Command1.Caption = "自动选择" & time & "秒"time = time - 1If time < 0 ThenCommand1_ClickEnd IfEnd Sub
  按F5,然后就在一边乐吧。