リストボックスで項目を追加する度に常に一番下までスクロールするようにしたい
投稿者 るきお  (社会人)
投稿日時
2011/3/7 21:52:08
こんにちは。
追加した項目を選択してよいのであれば簡単にできます。
選択してはいけないのであればWindows APIを呼び出すことになります。
その場合難易度は急上昇します。
追加した項目を選択してよいのであれば簡単にできます。
ListBox1.SelectedIndex = ListBox1.Items.Add("あいうえお")
選択してはいけないのであればWindows APIを呼び出すことになります。
その場合難易度は急上昇します。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2011/3/7 23:41:10
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
ListBox1.TopIndex = ListBox1.Items.Add(Now.ToString("HH:mm:ss.ffff"))
End Sub
投稿者 るきお  (社会人)
投稿日時
2011/3/8 13:12:35
おぉ。TopIndexがありましたか。
フォローしてもらってよかったです。ありがとうございます。
フォローしてもらってよかったです。ありがとうございます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2011/3/8 15:10:24
蛇足ですが、ついでにの場合も。
こちらも TopIndex プロパティですが、最新項目のインデックスの取得方法が異なります。
Private Sub Timer1_Timer()
Dim current As String
current = Format(Now, "HH\:mm\:ss") & Format(Timer - Fix(Timer), ".0000")
List1.AddItem current
List1.TopIndex = List1.NewIndex
End Sub
こちらも TopIndex プロパティですが、最新項目のインデックスの取得方法が異なります。
リストボックスを使っていて、表示領域いっぱいまで項目を詰めるとスクロールバーがでてきて下にスクロールできるようになりますよね。
通常はいっぱいまで詰めるとそのままでスクロールバーが伸びてくだけです。
しかし、これでは最新の項目に何を追加したかわかりにくいです。
項目を追加する度に一番下までスクロールするようにしたいのですがやり方を教えて下さい。