開発環境:
Windows10 Pro
Visual Studio Community 2019
開発言語:
VB.NET FrameWork4.7.2

テレワーク(TelWork?)が1週間を過ぎました。
新卒のSE候補君も研修を早々に切り上げていきなり在宅で作業とのことです。
課題もDBとアプリの連携部分とのことでしたが、プログラムはともかくDBは、 システムごとにローカルルールがあり、ある程度時間がいるかも?


そのSE候補君よりシステムの共有に面白い質問がありましたので、返信対応させていただきました。
質問内容としては、コンボボックスのSelectedIndexChangedイベントに処理を書いたのだが、起動の途中でもイベントが発生して、エラーとなってしまう。
回答を見てみると、
①SelectedIndexChangedイベントを使わないが1件と
②フォームロード処理の最後でSelectedIndexChangedイベントを作るというのがありました。
①については、Validatingなどの別のイベントを使うということになろうかと思います。できなくはない処理です。
②については、かなりの.NETに対する理解が必要なので、おすすめしたくありません。
そこで、読み込み完了フラグ使うのはいかがでしょうか?
フォームのメンバ変数にフラグを取っておいて、Form.ShownでフラグをOnにする。
SelectedIndexChangedイベントにてif文でフラグを評価し、Onならば実行する。
これならば、起動途中は処理をされずにフォームの読み込み完了後は実行されます。
多分この現象は、フォームロード時にコンボボックスのリストをSetしたりデータソースを指定した時の問題だと思います。
リストの設定方法までは記述されていませんでしたので、汎用的な方法として「読み込み完了フラグ」の方法を提案させていただきました。