- PR -

C# Windows 二つListBox項目の追加、削除

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-20 19:39
引用:

未記入さんの書き込み (2006-02-20 19:31) より:

頂いたソースを試しました。


「いえ、Click イベントはあのままでいけるはずですよ」と書きました。
頂いたソースじゃない方の書き込みを試してください。

引用:

でも、まだ旨くできませんでした。
現象:
ListBox2に選択されたListBox1項目のDisplayMemberではなくて、System.Collections.DictionaryEntryというメッゼジーを追加されました。


すいません、意味が判りませんでした。
例外が発生して「このようなメッセージが表示された」ということでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2006-02-21 22:19
ListBox2にDisplayMemberやValueMemberを設定しました?
それをしてないだけのような気がします。

# 微妙に日本語がおかしい…中国の方かな?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-22 09:49
このままでは無意味なので、とりあえず書いておきます。

コード:

    private void FormMain_Load(object sender, System.EventArgs e) {
        this.listBox1.Items.Clear();
        this.listBox2.Items.Clear();

        /* begin */ {
            System.Collections.ArrayList list = new System.Collections.ArrayList();
            list.Add(new System.Collections.DictionaryEntry(1, "AAA"));
            list.Add(new System.Collections.DictionaryEntry(2, "BBB"));
            list.Add(new System.Collections.DictionaryEntry(3, "CCC"));
            list.Add(new System.Collections.DictionaryEntry(4, "DDD"));

            this.listBox1.ValueMember   = "Key";
            this.listBox1.DisplayMember = "Value";
            this.listBox1.Items.AddRange(list.ToArray());
        }

        /* begin */ {
            System.Collections.ArrayList list = new System.Collections.ArrayList();
            list.Add(new System.Collections.DictionaryEntry(1, "123"));
            list.Add(new System.Collections.DictionaryEntry(2, "456"));
            list.Add(new System.Collections.DictionaryEntry(3, "789"));

            this.listBox2.ValueMember   = "Key";
            this.listBox2.DisplayMember = "Value";
            this.listBox2.Items.AddRange(list.ToArray());
        }
    }

    private void button1_Click(object sender, System.EventArgs e) {
        if (this.listBox1.SelectedIndex >= 0) {
            this.listBox2.Items.Add(this.listBox1.SelectedItem);
            this.listBox1.Items.RemoveAt(this.listBox1.SelectedIndex);
        }
    }


こんな感じで出来るでしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
会議室デビュー日: 2006/02/20
投稿数: 10
投稿日時: 2006-02-22 10:38
じゃんぬねっと様度々ありがとうございます。
頂いたコードを早速試しました。完璧できました。
私は中国出身で、おかしい日本語を使ったので、すみませんでした。
KAZUKI様ご指摘有難うございます。


未記入
会議室デビュー日: 2006/02/20
投稿数: 10
投稿日時: 2006-02-22 10:38
じゃんぬねっと様度々ありがとうございます。
頂いたコードを早速試しました。完璧できました。
私は中国出身で、おかしい日本語を使ったので、すみませんでした。
KAZUKI様ご指摘有難うございます。


スキルアップ/キャリアアップ(JOB@IT)