0

私のフォームには、データグリッドとチェック済みリストボックスが含まれています。リストボックスは、form_loadイベントに入力されます。リストボックスのチェックマークを変更する、データグリッドのSelectionChangedイベントがトリガーされたときに呼び出される関数があります。データグリッド内のアイテムを手動でクリックすると、すべて正常に機能します。

ただし、フォームを初めて実行するときは、データグリッドの最初の項目が選択されているように見えても、チェックマークは影響を受けません。これは、最初のSelectionChangedイベントがトリガーされた時点で、実際のリストボックスがフォームにまだ入力されていないためであることがわかりました。したがって、関数がチェックボックスを設定しようとすると、リストボックスに項目が表示されないため、どこにも表示されません。

form_loadイベントがトリガーされる前であっても、どういうわけかデータグリッドにデータが入力されています。データグリッドにデータを入力する前にリストボックスにデータを入力する必要がありますが、これを制御する方法がわかりません。

私のジレンマを解決する方法はありますか?

ありがとう。

4

2 に答える 2

1

これはあなたの質問に直接答えることはありませんが、おそらくリストボックスをロードした後、SelectionChangedサブを呼び出して、必要な動作をさせることができます。順序を制御しようとするのではなく。

于 2011-07-29T10:00:57.437 に答える
0

私はタイマーを使用してこれらの問題を解決します(フォームロード中に何かを実行しますが、すべてのコントロールがロードされた後)。10ミリ秒の時間で無効になります。最後のアクションとしてformloadで有効にします。タイマーティックでタイマーを無効にし、残りのコードを実行します。

したがって、timertickは、フォームがロードされた直後に実行されます。

于 2011-07-29T11:12:28.760 に答える