お世話になります。
色々調べてみたのですが、どうしても分からなかったため、質問させて頂きます。
お知恵をお貸し頂ければ幸いです。どうぞ宜しくお願いします。
環境
Windows デスクトップアプリケーション
vs2013
実現したいこと
例えば、以下のようなフォームデザインを考えます。
コード入力後、(DBに該当するコードがあれば)担当者名を呼び出し、部署欄に移動する、といった流れを想定しています。
今回、追加で実装したいのは、「DBに該当するコードがない場合、担当者名をフリー入力できるようにする」です。
これにあたり、 担当者コードが入力し終わって、Tabキーなどを使用して別のコントロールに移動するタイミングで、DBに該当するコードがあるかどうかの判定(以下、判定)を行い、
- コードがあれば、部署欄に移動
- コードがなければ、担当者名に移動
といった分岐を行いたいです。
試したこと
①
担当者コードのValidatingイベントで、担当者名のTabStopを切り替えれば遷移先が変化するのではないかと考えたのですが、Validatingイベントに入った時には既に遷移先のコントロールが確定しているようで、うまく行きません。
尚、一度担当者名に遷移した後、「判定」を行い、必要に応じて部署欄に移動するという制御は、担当者名のイベント(Enter、Leave等)が走ってしまうのがマズい場合があるので避けたいと考えています。
②
上記で試したことを踏まえ、TextChangedイベントで1文字入力される度に「判定」を行い、担当者名のTabStopを切り替えることも考えましたが、負荷もかかるためスマートではないのかな?という気がしています。
最後に
上記「試したこと」の①②以外に何か良い方法があれば伺いたいです。
もしなければ「無いだろう」というご回答もお待ちしております。
teratailで質問することに慣れていないため、何か気になる点などございましたら、ご指摘いただけるとありがたいです。
以上、どうぞ宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/15 23:43