Oppure

Loading
21/09/12 8:26
lupino
Buongiorno a tutti,
in un mio progetto mi trovo nella condizione di dover creare a runtime n button e/o n label; per semplificare il codice vorrei sfruttare il fatto che un button con impostata la proprietà flatstyle= flat (e le relative proprietà in flatappearance) è molto simile ad una label.
Così facendo mi basterebbe creare solo gli n button e variare di volta i volta la proprietà flatstyle da flat (simil label) a standard (button).
Nel farlo mi sono però scontrato con il fatto che suddetta proprietà (flatappearance) è readonly, in quanto, se ho ben capito, derivata dalla classe FlatButtonAppearance.
E' possibile in qualche modo accedere alle proprietà bordersize, CheckedBackColor, MouseDownBackColor e MouseOverBackColor; esse, per la precisione, dovrebbero essere portate, in modalità simil label, a, rispettivamente:
bordersize=0
CheckedBackColor=trasparent
MouseDownBackColor=trasparent
MouseOverBackColor=trasparent
Scusandomi per eventuali cavolate nella mia descrizione (ho iniziato ad usare VB.NET solo da un paio di mesi) ringrazio anticipatamente chiunque volesse aiutarmi.
aaa
26/09/12 7:49
criscap85
aaa
30/09/12 15:05
lupino
Ok, risolto :k:
Grazie criscap85 per il link, sicuramente indicativo ma ho trovato più utile il seguente
stackoverflow.com/questions/2836558/…

In ogni caso per eventuali altri utilizzatori del forum....

        
......
        btnMonitor(pinID) = New Button With {.Name = "btnMonitor" & pinID,
                                            .FlatStyle = FlatStyle.Flat,
                                            .Location = New Point(63, 3),
                                            .Size = New Size(132, 29),
                                            .ImageList = Display,
                                            .ImageKey = "LCD",
                                            .ImageAlign = ContentAlignment.MiddleCenter,
                                            .ForeColor = Color.OrangeRed,
                                            .Font = New Font(FontCollection.Families(0), 12, FontStyle.Bold),
                                            .TextAlign = ContentAlignment.MiddleRight,
                                            .Text = IIf(Pins(pinID).Type = "IN", "Close", "scanning....")}

        Dim btnFlat As FlatButtonAppearance = btnMonitor(pinID).FlatAppearance
        With btnFlat
            .BorderSize = 0
            .MouseOverBackColor = Color.Transparent
            .MouseDownBackColor = Color.Transparent
        End With
.....

Ultima modifica effettuata da lupino 30/09/12 15:07
aaa
01/10/12 7:48
criscap85
Ok. E' servito pure a me perchè devo creare una sorta di barra sul desktop per effettuare, ricevere le chiamate dal centralino. Comunque se ti serve qualcos'altro mi trovi anche su Skype. Grazie anche a te. Bene! Buon proseguimento.
Ultima modifica effettuata da criscap85 01/10/12 7:56
aaa