22/04/11 23:28
Phil93
Ciao.
Avrei bisogno di creare un controllo personalizzato che mi permetta di gestire una lista di Button (per capirci, nel modo in cui una ListBox gestisce le stringhe).
Per fare ciò ho incapsulato la proprietà Controls del controllo, in questo modo:
Il problema è che con questo codice, quando vado ad aggiungere controlli modificato la proprietà Items in fase di design, mi si presenta una InvalidCastException del tipo Control sul tipo Button.
Dove sto sbagliando? Inoltre, è questo il modo giusto di procedere per ottenere il mio scopo?
Grazie
Avrei bisogno di creare un controllo personalizzato che mi permetta di gestire una lista di Button (per capirci, nel modo in cui una ListBox gestisce le stringhe).
Per fare ciò ho incapsulato la proprietà Controls del controllo, in questo modo:
Public ReadOnly Property Items As ControlCollection Get Return Me.Controls End Get End Property Protected Overrides Sub OnControlAdded(ByVal e As System.Windows.Forms.ControlEventArgs) MyBase.OnControlAdded(e) Me.Invalidate() End Sub Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) MyBase.OnPaint(e) For I = 0 To Me.Controls.Count - 1 Dim B As Button = DirectCast(Me.Controls(I), Button) With B ' Varie operazioni per impostare l'aspetto dei Button. End With Next End Sub
Il problema è che con questo codice, quando vado ad aggiungere controlli modificato la proprietà Items in fase di design, mi si presenta una InvalidCastException del tipo Control sul tipo Button.
Dove sto sbagliando? Inoltre, è questo il modo giusto di procedere per ottenere il mio scopo?
Grazie
Ultima modifica effettuata da Phil93 22/04/11 23:43
aaa