2016-03-20 14 views
0

アイテムをロードするリストボックスがあります。各行はHH:mm:ss形式の時間で始まります。ボタンをクリックすると、リストボックスの選択された項目は、ユーザーがテキストボックスに入力した特定の時間で始まる行に移動します。次に、selecteditem.text.tostring.substring(0,5)を使用して、選択した項目の最初の5文字を​​コピーするテキストボックスがあります。今、選択した項目の右下にある行の最初の5文字を​​キャプチャする必要があります。助けてくれてありがとう。VB.NETは特定のListBoxアイテムに移動します

答えて

0

ListBoxのFindString()メソッドを使用すると、指定された文字列で始まる最初の項目のインデックスを見つけることができます。これを使用して、指定されたインデックスの項目を選択するSelectedIndexプロパティを設定できます。

現在選択されているアイテムの下にあるアイテムを取得するには、ItemsコレクションからSelectedIndex + 1を取得するだけです。

Public Sub DoSomething() 
    Dim Index As Integer = ListBox1.FindString(TextBox1.Text) 'Find the index of the item starting with whatever is in TextBox1. 
    If Index > -1 Then 'Check if the item exists/was found. 
     ListBox1.SelectedIndex = Index 
     TextBox2.Text = ListBox1.Items(Index).ToString().Substring(0, 5) 

     If Index < ListBox1.Items.Count - 1 Then 'Check if the found item is the last item or not. 
      TextBox3.Text = ListBox1.Items(Index + 1).ToString().SubString(0, 5) 
     Else 'This was the last item. 
      MessageBox.Show("You've reached the end of the list.", "", MessageBoxButtons.OK, MessageBoxIcon.Information) 
     End If 

    Else 'No item was found. 
     MessageBox.Show("No item found starting with the specified text!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End If 
End Sub 
+0

Visual Vincentと@ IFON26もありがとうございます。私はコードを実装していませんが、それを読んで、それが動作することを強く希望します。 – MordC

+0

@MordC:現時点ではコンピュータにアクセスできないので、実際には自分でテストしていませんが、コーディングは基本的なので問題はありません。 –

+0

今日はコードを試しましたが、完璧に機能しませんでした。私はしかし、あなたの答えが私にいくつかの関連する問題を解決する上でいくつかの手がかりを与えたので、感謝しています。 DID NOT WORKは、ユーザーがテキストボックスに入力した文字を含むリストボックスの行Iに移動します。あなたが実装して見ることができれば嬉しいです。助けてくれてありがとう。 – MordC

0
ListBox1.SelectedIndex = 2 

0に等しい最初の行
1等しい第2ライン
2等しい第三のライン
その

ように終了するか、追加することができる-1最後に、このよう

ListBox1.SelectedIndex = 2 - 1 
下回っ

実際の行番号を2つ選択できるように

+0

これは何も選択せず、最初の項目を取得します。 –

+0

私は彼に、彼が選択したいアイテムと等しい0と答えました。-_- – IFON26

+0

これはまだ実際には何も選択していません。インデックス0のアイテムを取得するだけではありません。私はあなたがまだコメントすることができないことを知っていますが、そうでなければ1つだったはずです。あなたの言うことは正しいですが、答えはより徹底すべきです。 –

関連する問題