プログラムで不特定の量の新しいUserControlをフォームに追加しようとしています。UserControl内に含まれるComboBoxでエントリが選択されるたびに1つ追加されます。
問題は、SelectedIndexChangedイベントが完全に不規則に発生することです。時には2回、時には3回などですが、1回だけではありません。コンボボックスのSelectedIndexを-1に設定した回数に関係なく、SelectedIndexが0の場合に少なくとも1回は発生します。SelectedIndexChangedイベントの間にItemselectedイベントが複数回発生することがあります。
InvoiceEntry.vbスニペット:
Public Event ItemSelected As EventHandler
Private Sub cboItem_SelectedIndexChanged(sender As System.Object, _
e As System.EventArgs) Handles cboItem.SelectedIndexChanged
RaiseEvent ItemSelected(Me, EventArgs.Empty)
End Sub
Invoice.vbスニペット:
Private numEntries As Integer = 1
Public Sub invEntry1_ItemSelected() Handles invEntry1.ItemSelected
numEntries += 1
Dim newEntry As InvoiceEntry = invEntry1
Dim pt As Point = newEntry.Location
pt.Y += 30
newEntry.Location = pt
newEntry.Name = "invEntry" + numEntries.ToString
pnlEntries.Controls.Add(newEntry)
サブ終了
私は何が悪いのか完全に途方に暮れています。私または他の誰かがそれを理解するまで私はこのスレッドを監視しているので、さらに情報が必要な場合は私に知らせてください。