C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: listBoxでの選択解除方法を教えてください。


(過去ログ 93 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■55593 / inTopicNo.1)  listBoxでの選択解除方法を教えてください。
  
□投稿者/ 裕猫 (201回)-(2010/12/07(Tue) 11:55:50)

分類:[C#] 

開発環境
OS: WindowsXP SP3
言語: VisualStudio2008 C#

質問: listBox1
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string Bun = listBox1.Text.Substring(0,4);
            RD = CDBA.DBF("KK90", "コード = '" + CVR.MKS(Bun, 4) + "'", "コード ASC", MKST.KK90OLD,MKST.KK90T);----データベースデータ検索関数成功だとnullが返る。
            if (RD == null)
            { DPrt(); FG1 = 1; }------成功したら各テキストボックスにデータを表示してフラグを立てる。
            else
            { MessageBox.Show(RD); }
        }
でテキストを選んだ後、その内容をlistBox1.Items.Remove()で削除すると
           string Bun = listBox1.Text.Substring(0,4);のところで
インデックスおよび長さは文字列内の場所を参照しなければなりません。
というエラーを出してしまいます。listBox1で選んだときアイテムが選択状態になり青くなったままになります

がそれが原因だと思うのですが
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
で処理をした後、選択を解除するにはなんと記述すればよいのかわかりません。ご存知の方教えていただけない

でしょうか?
よろしくお願いいたします

引用返信 編集キー/
■55596 / inTopicNo.2)  Re[1]: listBoxでの選択解除方法を教えてください。
□投稿者/ shu (245回)-(2010/12/07(Tue) 12:16:43)
No55593 (裕猫 さん) に返信
>         private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
>         {
>             string Bun = listBox1.Text.Substring(0,4);

         private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
         {
             if (listBox1.SelectedIndex == -1) return;     <--- エラー防止と再帰防止
             string Bun = listBox1.Text.Substring(0,4);
             listBox1.SelectedIndex = -1;     <--- 適当な場所に記述

こんなんでどうでしょう?

引用返信 編集キー/
■55604 / inTopicNo.3)  Re[2]: listBoxでの選択解除方法を教えてください。
□投稿者/ 裕猫 (202回)-(2010/12/07(Tue) 12:59:57)
No55596 (shu さん) に返信
> if (listBox1.SelectedIndex == -1) return; <--- エラー防止と再帰防止
> string Bun = listBox1.Text.Substring(0,4);
> listBox1.SelectedIndex = -1; <--- 適当な場所に記述
>
> こんなんでどうでしょう?
>
早速のご指導ありがとうございます。うまくいきました。空白選択のエラーも解消いたしました。インデックスの位置指定をないところにするわけですね。頭がまわっていませんでした。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -