Sto lavorando in VB, VS2008, Winforms. Ho alcune etichette da creare e sto usando BorderStyle = FixedSingle.Provare a cambiare il colore del bordo di un'etichetta
C'è un modo per cambiare il colore di questo bordo? È sempre predefinito per il nero.
Sto lavorando in VB, VS2008, Winforms. Ho alcune etichette da creare e sto usando BorderStyle = FixedSingle.Provare a cambiare il colore del bordo di un'etichetta
C'è un modo per cambiare il colore di questo bordo? È sempre predefinito per il nero.
Se non si desidera creare un controllo personalizzato si può provare questo:
Hook fino a evento vernice della Label.
void label1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Blue, ButtonBorderStyle.Solid);
}
Tratto da here da Andrej Tozon
Mi sono imbattuto in questo problema e ho finito per usare una soluzione alternativa.
Creare un controllo personalizzato che consiste in un'etichetta avvolta in un pannello.
È quindi possibile utilizzare il pannello per creare il bordo e cambiarne il colore in base a ciò che si desidera.
Ho trovato che è una buona idea (anche se richiede un po 'di tempo) per avvolgere tutti i controlli nell'applicazione in ogni caso, perché quando si tratta di scoprire è necessaria una proprietà personalizzata, o passare a tutti i controlli di quel tipo, puoi semplicemente cambiare il controllo di base e le modifiche dell'intera app.
ho unito le soluzioni da robin.ellis e orandov per ottenere un risultato che ha funzionato il meglio per me. Ho creato un controllo personalizzato che ha ereditato l'oggetto Label e quindi ha annullato l'evento OnPaint.
Public Class nomLabel
Inherits Label
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, myColor, ButtonBorderStyle.Solid)
End Sub
End Class
Grazie per l'aiuto!
come usare questo? 'myLabel.BorderStyle = nomLabel'? – AdorableVB
@AdorableVB, nomLabel è un controllo personalizzato, non uno stile di bordo. Si userebbe nomLabel invece del controllo Label standard. – Stewbob
sì, capito. ho creato il mio ieri, ma il confine è stato risolto. Voglio che 'ButtonBorderStyle.Solid' quando il mouse si libra e' .None' quando mouse Leave. il codice non funziona, e se uso il controllo personalizzato, non applica neanche il codice. – AdorableVB