私は単純なアプリケーションを作成しようとしています。 2つのリストボックスがありますが、どちらのリストもほぼ同じです。だから私のコードでは、どちらのリストボックスでも同じコードを簡単に実行できるようにしたい。Visual Basic .net、オブジェクトへの参照を作成します。
VB6では、両方のコントロールを同じ名前にして、それらにインデックスを割り当てても問題ありません。 VB.net 2008では、これは不可能なようです。
私が理想的に望むのは、リストボックスのいずれかに割り当てることができる変数をプログラムの中に作成し、残りのコードの間に、この新しい変数を使用して、リストボックスを制御します。ここで
は例です:
Private Sub lVegetables_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lVegetables.Click
ListToEditor(0, lVegetables.SelectedIndex)
End Sub
Private Sub lFruits_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lFruits.Click
ListToEditor(1, lFruits.SelectedIndex)
End Sub
Private Sub ListToEditor(ByVal iList, ByVal iIndex)
Select Case iList
Case 0
Dim lList As lVegetables
Case 1
Dim lList as lFruits
End Select
tEditor.text = iList.item(iIndex)
End Sub
は、私はその場でリストボックスに参照するために別の変数を使用することができ、またはそれらが同じ名前を持っているので、私は彼らにインデックスを割り当てることができる方法はありますか?あなたは、両方のリストボックスに同じハンドラを使用して送信者をキャストすることができ
あなたのコードはでかなりの数のエラーを持って何が悪いです。マジックナンバーインデックスの代わりにリスト自体を渡していますか? –
適切なタイプのフォームレベルスコープを持つ変数を作成しますが、それらは2つの異なるタイプのようです。 'Option Strict On'は、特にグローバル変数で遊ぶ場合に設定してください。 – Plutonix
他のオブジェクトを参照する変数を持つことができます。私はあなたがやろうとしていることを具体的に提供されたコードから私には分かりません。 'ListToEditor'のパラメータに型を持たせるべきですか? 'Dim List as lVegetables'とは何ですか?変数を宣言しているだけで、何にも使われていません。 'lVegetables'は本当に型ですか、それとも変数ですか?あなたがここでやろうとしていることは私には分かりません。 – David