Board logo

標題: [發問] 有關 TextBox1_Exit(...)會run 2次 [打印本頁]

作者: ltc    時間: 2010-10-24 15:49     標題: 有關 TextBox1_Exit(...)會run 2次

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox3.SetFocus
    MsgBox "為何我會出現兩次,一定要嗎 ?,我只想出現一次阿"
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    MsgBox "這邊為何我又只出現一次 ?"
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)

End Sub

煩請各位大大解惑一下
感恩
作者: Hsieh    時間: 2010-10-24 16:17

本帖最後由 Hsieh 於 2010-10-24 21:28 編輯

回復 1# ltc
  1. Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  2.    MsgBox "為何我會出現兩次,一定要嗎 ?,我只想出現一次阿"
  3. End Sub

  4. Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  5.     MsgBox "這邊為何我又只出現一次 ?"
  6. End Sub

  7. Private Sub UserForm_Initialize()
  8.   TextBox3.AutoTab = False: TextBox2.AutoTab = False
  9.   TextBox3.TabIndex = TextBox1.TabIndex + 1
  10.   TextBox2.TabIndex = TextBox3.TabIndex + 1
  11. End Sub
複製代碼

作者: GBKEE    時間: 2010-10-24 16:33

本帖最後由 GBKEE 於 2010-10-24 16:34 編輯

Hsieh版主的方法很好
回復 1# ltc
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox3.SetFocus 刪掉就可以
    MsgBox "為何我會出現兩次,一定要嗎 ?,我只想出現一次阿"
End Sub
原因:
離開TextBox1, 待選擇控制項後時執行一次TextBox1_Exit .
但控制項是TextBox2 時 TextBox3.SetFocus  會使駐點再回到 TextBox1 又一執行TextBox1_Exit
控制項是TextBox3 時 TextBox3.SetFocus ,不會使駐點再回到 TextBox1,就不會在執行TextBox1_Exit
作者: ltc    時間: 2010-10-24 17:12

Hsieh 版主太感謝您了,差點被SetFocus給搞死

也感謝GBKEE 版主的補充

感恩




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)