Un problema che mi è capitato creando un applicazione per la visualizzazione delle immagini: ho un Form con una Picture Box (denominato PictureBox1), una TextBox (denominato TextBox1) e un bottone (denominato Button1). Dovevo inserire in questa TextBox, durante l'esecuzione del programma, un valore per settare il padding della PictureBox. Un problema che vi può capitare accade quando si inserisce questo codice (come avviene spontaneamente):
PictureBox1.Padding = TextBox1.TextIl problema è che il computer vi sottolinea
TextBox1.Text e la tooltip vi dice che non è possibile usare questo valore, come si vede in figura 1.
Figura 1 : Impossibilità di usare il valore della TextBox1.
Questo problema avviene nella maggior parte dei casi, soprattutto nei principianti, perchè, essendo il Padding una proprietà poco usata - o - poco conosciuta non si conosce bene il tipo accettato da questa proprietà.
Per sistemare tutto basta inserire il codice:
PictureBox1.Padding = New System.Windows.Forms.Padding(CInt(TextBox1.Text))Il tipo di dato da utilizzare, quindi dev' essere "System.Windows.Forms.Padding". Siccome devo creare una nuova istanza del tipo descritto precedentemente, quindi inserire la parola chiave
New. Per evitare che un utente, per sbaglio, inserisca un valore non numerico nel form è meglio racchiudere tutto in un blocco
Try - Catch . Ecco il codice completo (formattato con i colori dell'ambiente di sviluppo):
Try
PictureBox1.Padding = New System.Windows.Forms.Padding(CInt(TextBox1.Text), CInt(TextBox1.Text), CInt(TextBox1.Text), CInt(TextBox1.Text))
PictureBox1.Refresh()
Catch
MsgBox("Inserire un valore valido per il Padding")
End Try Ho aggiunto l'istruzione "PictureBox1.Refresh()" per fare in modo che dopo che imposto il padding, aggiorno la Picture Box.Figura 2: Debug Del programma, senza Padding
Figura 3: Debug impostando il padding a 30
Figura 4: Debug, se si immette un valore nullo oppure una stringa, appare il messaggio di errore.
Bene. Credo che chi si è trovato davanti a questo problema, possa aggiustarlo con queste istruzioni.
Grazie per aver letto il messaggio.