掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォーカスのないコンボボックスのListIndexを取得するには? (ID:102775)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 当方では「-1」になるんですけど、 フォーカスの遷移だけならば、ListIndex が勝手に -1 になる事は無いと思います。 ところで、その ComboBox の Style は何に設定されていますか? ドロップダウンコンボの場合、ドロップダウンリストに比べると ListIndex が -1 になる可能性が高くなります。 (Text を編集した場合、ListIndex が -1 になるため) > そういうものなのでしょうか? 変更される可能性としては、以下のような物があります。 ・Text プロパティへの代入を行った場合(Style がドロップダウンコンボの場合)。 ・ユーザーがテキストを編集した場合(Style がドロップダウンコンボの場合)。 ・SendKeys 等の影響を受けて、ドロップダウンコンボが編集されてしまっていた場合。 ・現在選択中の項目が RemoveItem された場合。 ・DataSource へのデータバインドが行われており、かつ、ComboBox の一覧に無い値が渡された場合。 ・ListIndex プロパティに -1、または -1 に相当する値(True など)が代入された場合。 もしもユーザー操作ではなく、プログラムの影響で -1 になっているのだとしたら、 下記の方法で、原因を特定できるかもしれません。 (1) [表示]-[ウォッチウィンドウ]でウォッチペインを表示させます。 (2) メニューから[デバッグ]-[ウォッチ式の追加]を選択します。 (3) 式に『Combo1.ListIndex』と記入します。 (4) 対象として『Form1』『(すべてのプロシージャ)』を選択します。 (5) ウォッチの種類として、『式の内容が変化したときに中段』を選択します。 (6) OK を押してダイアログを閉じ、デバッグ実行します。 (7) コードの影響を受けて ListIndex が変更されてた場合、該当箇所で 一時停止します(変更された直後に、影響を与えた行で一時停止します)。 (8) ここで[表示]-[呼び出し履歴]を使うと、そのプロシージャの呼び出し元も特定できます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.