salve gente, non riesco a venire a capo da una situazione!
ho avuto necessità di crearmi l'utilità di "ToolTipText" (a modo mio ) per alcuni controlli del form che non la supportano, tipo TextBox , CheckBox e altri che utilizzo nel mio progetto..(esattamente come funziona di default il ToolTipText degli oggetti che lo supportano).Tutto funzionava a dovere, fino a quando ho deciso di eliminare codice ripetitivo ed automatizzare il tutto in un unica sub pubblica (nel modulo) chiamata ovunque in qualsiasi form del progetto.
questa è la sub pubblica nel modulo:poi ci sarebbero le tre sub che vengono associate agli eventi di cui sopra, anch'esse riesiedono nel medesimo Modulo.. ma qua non mi addentro perchè non ho problemi!codice:Sub AddHandlers_TipTextEvent(ByVal Oggetto As System.Object, ByVal Mess As String) 'creo la label e la personalizzo simile al ToolTipText di default Dim TipText As New Label With {.Name = "TipText_" & Oggetto.name, .AutoSize = True, .BackColor = Color.WhiteSmoke, .BorderStyle = BorderStyle.FixedSingle, .Enabled = False, .FlatStyle = FlatStyle.Popup, .Visible = False, .Text = Mess} 'aggiungo la label al form cui appartiene l'oggetto/controllo Oggetto.findform.Controls.Add(TipText) 'aggiungo i tre eventi dell'oggetto/controllo cui associare la funzionalità di ToolTipText AddHandler DirectCast(Oggetto, CheckBox).MouseHover, AddressOf TipText_MouseHover ' show AddHandler DirectCast(Oggetto, CheckBox).MouseLeave, AddressOf TipText_MouseLeave ' Hide AddHandler DirectCast(Oggetto, CheckBox).MouseMove, AddressOf TipText_MouseMove ' Posiziona End Sub
funziona cosi , quando creo un oggetto nel FORM
dovrebbe funzionare per tutti i tipi di controlli, ma nella famosa sub non riesco a fare il directcast automatico al tipo oggetto passatoli. Per il momento sono fermo e costretto a scrivere manualmente su ChecBox... come potrei farecodice:.............. 'Creo l'oggetto checkbox e ne assegno le proprietà Dim CheckBox1 As New CheckBox With {.Name = "CheckBoxRileva", .Text = "Includi/Seleziona occorrenze di ""Voci"" uguali..", .Visible = False, .AutoSize = True, .BackColor = Color.Coral} ' aggiungo l'oggetto al form Me.Controls.Add(CheckBox1) : CheckBox1.BringToFront() ' questa è la chiamata alla famosa sub pubblica ' che aggiunge all'oggetto appena creato, la funzionalità di ToolTipText AddHandlers_TipTextEvent(CheckBox1, "Visualizza il costo complessivo degli elementi selezionati nella colonna ""Voce""") .............
qui????
codice:'aggiungo i tre eventi dell'oggetto/controllo cui associare la funzionalità di ToolTipText AddHandler DirectCast(Oggetto, CheckBox).MouseHover, AddressOf TipText_MouseHover ' show AddHandler DirectCast(Oggetto, CheckBox).MouseLeave, AddressOf TipText_MouseLeave ' Hide AddHandler DirectCast(Oggetto, CheckBox).MouseMove, AddressOf TipText_MouseMove ' Posiziona grazie per l'aiuto

Rispondi quotando