我有一个浏览记录的的窗体,里面有 增加、删除、保存、第一条记录、下一条记录、上一条记录、最后一条记录等按钮;另外有一些文本框用于显示记录的内容。我相信这种界面肯定有很多人做过。
  如今我要达到目的是:当我浏览记录的时候,也就是按 上一条、下一条等按钮时,保存按钮为不可用状态,一旦在显示记录内容的文本框内修改记录时,保存按钮立刻变为可用状态。我把 Enabled = True 放在Text的Change事件里,这样可以达到目的。
  但是问题出现了,当我按 上一条、下一条等按钮时,Change事件发生了,我并没有修改记录,这是因为记录指针改变时,文本框中的内容也跟着改变,当然就发生了Change事件。
 看来把 Enabled = True 放在Text的Change事件里并不行,那又如何在修改记录后,保存按钮变为可用状态呢?不知各位大侠如何处理这个问题?

解决方案 »

  1.   

    可以把Enabled = True 写在KeyPress事件中试试,应该就没有问题了。
      

  2.   

    我也这样写过,但还有其它控件,如ComboBox,我充许它从下拉框中选取,也充许直接输入,这样该放在哪个事件里呢?还有DataCombo控件,我不充许直接输入,只有从下拉框中选取,该放在哪个事件里呢?
      

  3.   

    其实还有一个办法,还是放在Change事件中,通过标志来判断。
    然后定义一个全局变量(boolean)
    private blMyFlag as boolean在Load事件中将它定义成false当你点击上一条、下一条的时候
    例如:
    private sub command1_click()
     blMyFlag = true    '当你点击这个按钮的时候,是不允许Enabled = True
       ......           '你的代码
     blMyFlag = false
    end sub
    在change事件中添加代码
    if blMyFlag = false then
        Enabled = True
    else
        Enabled = false
    end if
      

  4.   

    我现在就在做关于你这样的东东,我是这样处理的~~~因为这些东西都是活的东西,你不要把它想的太死了~~~我认为如果分清楚一些的话会更好~~~我的解决办法是:
    分2个按钮,一个是保存记录,另一个是修改保存记录,我目前做的程序,就用了2个按钮,那样使用者也会认为方便~~~我并不知道你是否在做一个完整的程序,如果是实验的话也许好说,但在完整的程序里面,这2个按钮可以说是同时存在的,因为~保存记录 是添加的过程~~修改记录 是一个UPDATE的过程,2个一定要分清,我想你现在就应该是这样吧?呵呵,我只是粗略的分析,分析的不对还请见谅~~~
      

  5.   

    论坛看来是乱套了。to wdwd05(☆VB-小伙~) :
    我并不想再另外增加一个修改记录的按钮,直接在文本框中改就好了。