在如图的一个对话框中,当鼠标从“金额框”离开到别的位置时,比如说点击“来源去向框”,焦点不马上到“来源去向框”,而是到“沪市”上,再点击一下“来源去向框”,焦点才到“来源去向框”上。从其他位置离开没有这个问题,都正常,只有从“金额框”离开到别的位置时才会出现此问题,很费解,调试了很久也没有找到原因,请高手帮忙!在线等!

解决方案 »

  1.   

    按顺序设置TabIndex属性,越小的焦点越在前面。
      

  2.   

    TabIndex分别为:
    “金额框”3,“来源去向框”14,“沪市”35,有什么问题吗?
      

  3.   

    如果是按tab键出现的问题
    那么就是2楼说的情况
      

  4.   

    根据需要调整一下每个空间的TabIndex
      

  5.   

    应该是程序那出问题了,再仔细看看,比如TabIndex等
      

  6.   

    应该设置TabIndex属性,按照你的顺序设置TabIndex
      

  7.   

    来源去向框 是在一个groupbox里面吧
      

  8.   

    现在有一个可能和这个问题相关的问题是:我按TAB键,焦点并不按大小顺序移动啊。并且,“沪市”总是在“金额”框后,即:当焦点在“金额”框时,按TAB键,焦点会到“沪市”。
      

  9.   

    那些说是TabIndex的人全都该拉出去枪毙!听你这意思说的“离开”指的应该是焦点的离开吧,怎么是鼠标呢?只是由鼠标来改变焦点而已!金额框是只读的?来源去向里面都是些什么东西,它们和沪市,深市有什么业务联系?1。不管之前焦点在哪,只要点击来源去向都会出现该问题!
    2。只要之前焦点在金额框,不管点哪那会出现该问题(即沪市先得焦点)!
    如果我猜得不错,你是否在一些事件中强行设置焦点的代码?如果上面1成立,你可以检查来源去向框中诸如Enter、GotFocus等类似的事件,看这些事件里是否有代码设置的单选框的焦点。如果2成立,你可以检查导至金额框推动焦点的一些事件(注意不只是Leave、LostFocus,还有Validated事件)中是否设置了单选框的焦点!不过我觉得一定和那两个控件的事件处理程序有关系!你不防仔细检查!
    如果真是那样,一般逐步调试,用F11一步一步总能找到原因;如果不是,那算我没说!
      

  10.   


    是的,说的非常对。我现在把“金额框”的来leave事件中的代码全部注释掉,就没有这个问题了,但是,leave事件中没有语句把焦点赋给“沪市”,因为根本就没有关于“沪市”的语句。我现在正在逐句在检查,看到底是哪一句对把焦点赋给了“沪市”起了作用。答案马上见分晓!
      

  11.   

    设置TabIndex
    失去焦点时,SendKeys.Send("{Tab}"); 
      

  12.   

    找到原因了。确实是由“金额框”的Leave事件引发其他环环相扣的事件设置了单选框的焦点!32楼的“jbo126”兄说得非常对,以上答复中大部分人说是“TabIndex”的问题令我费解!
      

  13.   

    点击“来源去向框”,焦点不马上到“来源去向框”,而是到“沪市”上,再点击一下“来源去向框”,焦点才到“来源去向框”。我也觉得和事件有关,正想说刷新时楼主说出来了不过我总觉得 jbo126 不该以这样的语气说话,他以后该改掉这个习惯。
      

  14.   

    是的,感谢各位兄弟的提示让我解决了问题!
    【如果我发的帖子对你有所帮助,请到下列地址http://download.csdn.net/source/2247484 下载原创家庭记账软件,并给出宝贵意见!】