玄関へお回り下さい。
リストボックスでよく使用する設定集(その3)(7個)             (SNo.102)

1.複数選択されている項目を取得する(テキストボックス等に表示)
2.リストボックスに水平スクロールバーを表示
3.DataSourceで配列データを高速に登録
4.AddRangeメソッドで配列データを追加登録
5.項目をすべて削除
6.複数選択されているインデックス番号を取得する
7.ランダムな配列データを作成する
使用コントロール Button1 〜 Button7   ListBox1 
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
テスト用のデータの作成と表示   

Private
 ss(100) As String
Private Sub Form1_Load(ByVal sender As System.Object, _
                       
ByVal e As System.EventArgs) Handles MyBase.Load
   
With ListBox1
        .Items.Add("たちつてと")
        .Items.Add("たちつてと")
        .Items.Add("あいうえお")
        .Items.Add("かきくけこ")
        .Items.Add("さしすせそ")
        .Items.Add("たちつてと")
        .Items.Add("なにぬねの")
        .Items.Add("はひふへほ")
        .Items.Add("まみむめも")
        .Items.Add("や  ゆ  よ")
        .Items.Add("らりるれろ")
        .Items.Add("わをん")
        .Items.Add("たちつてと")
        .Items.Add("たちつてと")
        .Items.Add("スクロールバーがないと読めないような長い文字列を記入")
   
End With

  
'ランダムな配列データを作成
   
Dim myData As String = "123ABCabcあいうアイウ"
   
Dim i, j, strLen As Integer
   
For i = 0 To 100
       
Dim myStr As String = ""
       
For j = 1 To 10
            myStr &= myData.Substring(
CInt(13 * Rnd() + 1), 1)
       
Next j
        ss(i) = myStr
   
Next i
End Sub

1.複数選択されている項目を取得する(テキストボックス等に表示)
 
Private Sub Button1_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button1.Click
'リストボックスで複数選択されている項目を取得
   
If ListBox1.SelectedItems.Count - 1 >= 0 Then
       
Dim i As Integer
       
Dim sb As New System.Text.StringBuilder(1000)
        '選択されている項目を取得
       
For i = 0 To ListBox1.SelectedItems.Count - 1
            'その文字列を高速に連結
            sb.Append(ListBox1.SelectedItems(i) & vbCrLf)
       
Next
        '取得結果をテキストボックス等に表示する場合
        Debug.WriteLine(sb.ToString())
   
End If
End Sub
 
2.リストボックスに水平スクロールバーを表示
 
Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'リストボックスに水平スクロールバーを表示
  
'ボタンをクリック毎に水平スクロールバーを表示・非表示に切り替え
    If ListBox1.HorizontalScrollbar Then
        '水平スクロールバーを非表示に
        ListBox1.HorizontalScrollbar = False
    Else
        'リストボックスに水平スクロールバーを表示
        ListBox1.HorizontalScrollbar = True
    End If
End Sub

3.DataSourceで配列データを高速に登録
  別途、配列データをご用意下さい。
 
Private Sub Button3_Click(ByVal sender As System.Object, _
                         
ByVal e As System.EventArgs) Handles Button3.Click
'配列データを高速に登録
    'DataSource プロパティを設定した場合、
    'ユーザーは項目のコレクションを変更できません。(エラーが発生するので注意)
    ListBox1.DataSource = ss
End Sub

4.AddRangeメソッドで配列データを追加登録
  別途、配列データをご用意下さい。

Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
'配列データを高速に追加登録
    ListBox1.Items.AddRange(ss)
End Sub
 
5.項目をすべて削除

Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
'項目をすべて削除
    ListBox1.Items.Clear()
End Sub
 
6.複数選択されているインデックス番号を取得する
 
Private Sub Button6_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button6.Click
'複数選択されているインデックス番号を取得
    For i As Integer = 0 To ListBox1.SelectedIndices.Count - 1
        Debug.WriteLine(ListBox1.SelectedIndices(i))
    Next
End Sub
 





2004/05/09
2005/10/18


VBレスキュー(花ちゃん)
VB.NET2003  VB2005