Differenze tra le versioni di "Rappresentare in un ValueBox un numero avente i punti delle migliaia e la virgola dei decimali"
Riga 1: | Riga 1: | ||
− | Come è noto, non è possibile far apparire all'interno di un | + | Come è noto, non è possibile far apparire all'interno di un Oggetto grafico ''ValueBox'' caratteri che non siano numeri. Pertanto non è possibile ottenere in un ''ValueBox'' la rappresentazione di un numero con i punti delle migliaia e con la virgola dei decimali. |
− | Questo limite, però, volendo, può essere superato con uno stratagemma. Infatti, poiché l'oggetto ''ValueBox'' è composto anche da un ''TextBox'', questo assume la | + | Questo limite, però, volendo, può essere superato con uno stratagemma. Infatti, poiché l'oggetto ''ValueBox'' è composto anche da un ''TextBox'', questo assume la Proprietà di figlio (".Children") del predetto Controllo ''ValueBox''. Il ''TextBox'', in quanto figlio del predetto Oggetto ''ValueBox'', conserva sostanzialmente le sue capacità e proprietà, anche quelle disattivate o comunque modificate per il ''ValueBox''. Tali proprietà, come ad esempio quella ".Text", possono essere riattivate ed utilizzate via codice dall'Oggetto ''ValueBox''. |
− | |||
− | |||
+ | La riattivazione e l'impostazione di tale Proprietà ".Text" viene effettuata con il Metodo ".SetProperty()" della Classe ''Object''. | ||
Mostriamo un semplice esempio pratico: | Mostriamo un semplice esempio pratico: | ||
− | + | Public Sub Form_Open() | |
Dim numerus As Float = 1000000.123 | Dim numerus As Float = 1000000.123 | ||
<FONT Color=gray>' ''Verifichiamo solo per curiosità l'oggetto figlio del "ValueBox":''</font> | <FONT Color=gray>' ''Verifichiamo solo per curiosità l'oggetto figlio del "ValueBox":''</font> | ||
− | + | Print ValueBox1.Children[0] | |
− | <FONT Color=gray>' ''Impostiamo (riattivandola) la | + | <FONT Color=gray>' ''Impostiamo (riattivandola) la Proprietà ".Text" dell'oggetto figlio (cioè il "TextBox") del "ValuBox", e mostriamo il numero con il punto delle migliaia e la virgola dei decimali:''</font> |
− | + | Object.SetProperty(ValueBox1.Children[0], "text", Format(numerus, "#,###,###,###.###")) | |
− | + | End | |
Ovviamente un'altra modalità è la seguente: | Ovviamente un'altra modalità è la seguente: | ||
− | + | Public Sub Form_Open() | |
Dim numerus As Float = 1000000.123 | Dim numerus As Float = 1000000.123 | ||
Riga 26: | Riga 25: | ||
tb.Text = Format(numerus, "#,###,###,###.###") | tb.Text = Format(numerus, "#,###,###,###.###") | ||
− | + | End |
Versione attuale delle 17:28, 29 set 2023
Come è noto, non è possibile far apparire all'interno di un Oggetto grafico ValueBox caratteri che non siano numeri. Pertanto non è possibile ottenere in un ValueBox la rappresentazione di un numero con i punti delle migliaia e con la virgola dei decimali.
Questo limite, però, volendo, può essere superato con uno stratagemma. Infatti, poiché l'oggetto ValueBox è composto anche da un TextBox, questo assume la Proprietà di figlio (".Children") del predetto Controllo ValueBox. Il TextBox, in quanto figlio del predetto Oggetto ValueBox, conserva sostanzialmente le sue capacità e proprietà, anche quelle disattivate o comunque modificate per il ValueBox. Tali proprietà, come ad esempio quella ".Text", possono essere riattivate ed utilizzate via codice dall'Oggetto ValueBox.
La riattivazione e l'impostazione di tale Proprietà ".Text" viene effettuata con il Metodo ".SetProperty()" della Classe Object.
Mostriamo un semplice esempio pratico:
Public Sub Form_Open() Dim numerus As Float = 1000000.123 ' Verifichiamo solo per curiosità l'oggetto figlio del "ValueBox": Print ValueBox1.Children[0] ' Impostiamo (riattivandola) la Proprietà ".Text" dell'oggetto figlio (cioè il "TextBox") del "ValuBox", e mostriamo il numero con il punto delle migliaia e la virgola dei decimali: Object.SetProperty(ValueBox1.Children[0], "text", Format(numerus, "#,###,###,###.###")) End
Ovviamente un'altra modalità è la seguente:
Public Sub Form_Open() Dim numerus As Float = 1000000.123 Dim tb As TextBox = ValueBox1.Children[0] tb.Text = Format(numerus, "#,###,###,###.###") End