• ベストアンサー

リストボックス

VB.NETでWindowsMobile5.0の開発をしてます。 リストボックスのアイテムを削除するとアイテムのフォーカスが消えてしまいます。 続けて削除としたいのですがリストボックス内のアイテムにフォーカスを移すにはどうすれば良いのでしょうか。 初歩的な質問で申し訳ありませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.2

listbox1.selectedIndex = 0 で1つ目のアイテムを選択した状態にすることができます。 listbox1.selectedIndex = -1が非選択状態にすることができます。 selectedIndexは設定および参照型のプロパティですので、どのアイテムが選択されているかはこのプロパティを参照すればよいわけです。 リストボックスの選択や描画の仕組みですが、オーナードローを理解されることをお勧めします。 参考URLを参照ください。 FillRectangleがで青い色を描画しています。白でクリアしている点に注目していただければと思います。 フォーカスとして表示されている点線の枠の描画は e.DrawFocusRectangle() となります。

参考URL:
http://smdn.invisiblefulmoon.net/ikimasshoy/vbdotnet/ownerdraw.html
glee_sss
質問者

お礼

回答ありがとうございます。 まさにオーナードローのようなことをしたいと思っており助かりました。

glee_sss
質問者

補足

参考URLのサンプルはWindowsMobile(CompactFreamWork)では使えないようです。 なにかほかに方法はないでしょうか? モバイルでオーナードローを使う方法を教えて下さい。 質問の趣旨と違ってしまい申し訳ありません。

その他の回答 (1)

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

インデックスの大きい順に削除してみてはいかがでしょうか? 現在のインデックスからひとつ小さい値をselectedIndexに設定してあげるというのでは不十分なのでしょうか?

glee_sss
質問者

お礼

どこから削除しようとコレクションからフォーカスが逃げてしまいます。 ・コレクションのアイテムにフォーカスを移動する。(アイテムを青くする) ・コレクション内のどのアイテムにフォーカスがあるかを知る。 上記の方法を教えて頂けますでしょうか? そもそもリストボックス内のアイテムが青くなっている=フォーカスがある。 で正しいでしょうか? 他のボタンを押すとそこにフォーカス(太枠になる)しますがリストボックス内のアイテムも青いままです・・・ 宜しくお願い申し上げます。

関連するQ&A

  • VB エクセル出力時のリストボックスの設置について

    初歩的な質問で申し訳ございません! VB.netにてあるシステムの開発を行っているのですが エクセル出力時にリストボックスを設置を行い、データを挿入したいと考えています。 可能でしょうか? ご回答、よろしくお願い致します。

  • リストボックスの並べ替え (VB.NET)

    こんばんは。 VB.NETのリストボックスの並べ替え方法で ListBox1.Sorted = True で並べ替えると、例えばアイテムに1~1000の数字を登録 してあった場合 1 10 100 1000 101 102 ・ ・ ・ 109 11 110 111 というようにあまり好ましい順番に並び替えしてくれないのですが、 良い並べ替え方法があったら教えて頂きたいです。 よろしくお願いいたします。

  • 再質問 コンボボックス リスト部分の残像

    3/4に質問したものと同一内容ですが、解答が付かず、また納期が迫りましたので、困り度を上げて再質問させて頂きます。  WinXP環境下でVB6sp5+Access2002で開発を行っています。 コンボボックスAで条件設定(確定はロストフォーカス/又はクリック)を行い、アクセスmdbから抽出した情報をコンボボックスBのアイテムへ取込んで表示をさせています。共にIntegralHeightはTureです。  複数回実行する時、コンボBの抽出結果リストが前回より少ない(リストの高さが低い)場合、余剰部分が画面上に空白のまま残ってしまう様です。  画面を「最小化」後、「元のサイズに戻す」等行えば消えます。…が、いかにも抜け道臭いので、解消方法を教えてください。

  • リストボックスの並び替え

    VB.NETについて質問です。 ボタン1をクリックしたら、テキストボックス1に入力した文字を、リストボックス1に登録するとします。 この時、名前、年齢を入力します。 これを、ボタン2、3、をクリックしたら、リストボックスの内容を、名前順、年齢順に並べ替えたいです。 どうしても分かりません。 並べ替えるにはどうしたらいいでしょうか?

  • リストボックスの使い方で…

    VB2005で開発をしております。 リストボックスに品目名を表示し、選択した品目名の品目コードをDBに登録したいと思っています。 ただ、品目名の裏で品目コードを保持しておく方法がわかりません。 なにか良い方法があれば教えていただきたいです。

  • リストボックスの保存方法を教えてください

    初心者です。VB.NET(VBのケースでもいいです)で、リストボックスにファイルからデーターを読み込み、項目を一覧表示し、その項目を追加、削除し、更新した内容をファイルに保存したいのですが、 データーの読み込み、追加、削除、まではできたのですが、ファイルに保存する方法がわかりません。 リストの項目すべてを取得して保存する方法を教えてください。 よろしくお願い致します。

  • リストボックスのアイテム選択色変更方法

    リストボックスのアイテム選択色変更方法 リストボックスにて、表示アイテムの背景色を設定しました。 が、アイテムを選択すると背景色が分からなくなってしまいます。 と、いう事で、独自のアイテム選択色を作成したいのですが、どうしたら実現できるのでしょうか? 開発手段は、HTML、JavaScript、cssまでとして下さい。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • リストボックスをクリックしたときにスクロールバーが勝手に動いてしまう

    vb2008で開発を行っています。 チェックボックスつきのリストボックスのチェックボックスをクリックしたときに、フォーム全体のスクロールバーが自動的にリストボックスに合わせて動いてしまい、非常に使いづらく、見づらいです。 この自動操作を無効にはできないでしょうか?どなたか回答をお願いします。

  • リストボックスから選択した拡張子を含むものを抽出

    開発環境:VB2008 VB初心者です。 ディレクトリ指定してリストボックスにディレクトリ内のファイル名を書き出すプログラムを作成しました。 その後、チェックボックスでtxtやdocなど拡張子を指定し、ボタンを押すとそのチェックした拡張子を含むファイル名だけリストボックスに書き出す処理のところで詰まっています。 やり方が悪いのかもしれません。別の簡単な方法があるのでしょうか。 どなたかサンプルでも書いていただけたらうれしいです。 よろしくお願いいたします。

  • VB6.0 リストボックスの扱いについて

    【環境】VB6.0,WinXPです。 現在独学でVB6.0を勉強しています。 http://www4.plala.or.jp/tamo/vb/vb99.html 上記HP内「課題9」を現在やっているのですが、この問題のように リストボックス内のデータを検索→選択状態に。という流れは、どう書けばいいのか分かりません。 始めたばかりなので、大雑把な質問で申し訳ありませんが、ご教授お願いします。

専門家に質問してみよう