私は、多数のフレームを持つユーザーフォームを持っています。各フレームにはテキストボックスがいくつかあります。 Tbxの中には、Tbxが空白の場合にEnterでオートフィルを引き起こすイベントプロシージャがあります。彼らはすべて働いている。しかし、自動入力されたコンテンツを削除した場合、別のコントロールに移動し、最初のコントロールを再度クリックすると、イベントは発生しません。何をクリックしても問題はありません。同じフレーム内の別のコントロールをクリックしてから、テストしているコントロールをクリックするまで何も起こりません。そのシーケンスでのみ、イベントは再び発生します。UserformのEnterイベントが起動しない
同じフレーム内の別のコントロールをクリック、削除、クリックし、最初のコントロールで再度クリックすると、毎回自動入力が行われます。それはちょうど私が削除すると、別のフレームでコントロールをクリックし、期待されるイベントが発生しないことを返します。
私は、フレームとコントロール間のイベントの順序が複雑であることを知っています。私は、テストされたコントロールのExitイベントは、別のフレームのコントロールをクリックすると発生しないと考えています。実際にはExitイベントは、同じフレーム内の別のコントロールをクリックしたときにのみ発生し、その間に物理的にクリックされた他のフレームとは無関係に、Exitイベントが先行していないために発生しません。
しかし、このロジックは奇妙ですが、私は別のフレームに別の自動充填Tbxを持っていると考えて、Tbxから来てテストしています。したがって、おそらく2番目のフレームのEnterイベントが発生し、コントロールのEnterイベントが自動入力されるようになりました。テスト中のTbxのExitイベントが発生していない場合、これらのEnterイベントはどのようにして発生しますか?まあ、Wordについてのすべてが論理的なわけではありません。
しかし、おそらく、この経験があり、最初のコントロールまたはそのフレームのExitイベントを強制する方法、またはこの特定の目的に適した他のイベントを教える人がいます。
ありがとうございます。
ご協力いただきありがとうございます。私は2つの理由からあなたの解決策に反対しました。まず、MouseUpイベントは、正しく起動するEnterイベントの代替イベントです。 Exitイベントをスキップしても何の効果もなかったことを示すことができませんでした。第2に、ユーザーがフォームをナビゲートするためにキーボードを使用することを決定した場合、MouseUpイベントは発生しません。 – Variatus
@Variatusあなたはそれを扱う別の方法を見つけたように見える心配はありません!通常、問題にはいくつかの異なる解決策があります。キーボード対マウスの良い点も! –