- PR -

[C#] リストボックスの操作について

1
投稿者投稿内容
shin2
ベテラン
会議室デビュー日: 2004/03/10
投稿数: 58
投稿日時: 2006-03-09 13:28
現在VS2005+C#を使用しています。
特定のメッセージ(文字列)をリストボックスに表示をしています。私の場合

listBox1.Items.Add("追加した文字列");

と処理していますが、下にどんどんメッセージが追加されて結局最新のメッセージがリストボックスの外にいってしまいます。
常に最新の値を表示できるよう、メッセージがリストボックスの外に出た場合、リストボックスのメッセージを上方向にスクロールするようにするということはできないのでしょうか??
xxななおxx
ベテラン
会議室デビュー日: 2005/01/18
投稿数: 61
お住まい・勤務地: 東京(練馬)
投稿日時: 2006-03-09 13:46
「追加してはみ出たら」の意味はリストボックスの高さをはみ出るという意味ですか?


常時先頭(一番上)に追加するなら、
listBox1.Items.Insert(0,"追加した文字列");



[ メッセージ編集済み 編集者: xxななおxx 編集日時 2006-03-09 13:48 ]
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2006-03-09 13:47
引用:

listBox1.Items.Add("追加した文字列");
常に最新の値を表示できるよう、メッセージがリストボックスの外に出た場合、リストボックスのメッセージを上方向にスクロールするようにするということはできないのでしょうか??


Addするたびに(連続Addならその最後で)TopIndexプロパティを設定するとよいかも。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-09 13:53
引用:

shin2さんの書き込み (2006-03-09 13:28) より:

常に最新の値を表示できるよう、メッセージがリストボックスの外に出た場合、リストボックスのメッセージを上方向にスクロールするようにするということはできないのでしょうか??


コード:

    private int testIndex = 0;

    private void button1_Click(object sender, EventArgs e) {
        this.listBox1.Items.Add(this.testIndex.ToString() + " 番目");
        this.listBox1.TopIndex = this.testIndex;
        this.testIndex++;
    }


...orz

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

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