Se vuoi puoi esportare il progetto (usando il menu File - Export As Zip) e allegarlo ad un post o inviarmerlo tramite email, così lo correggiamo.
in pratica mi consigli di non effettuare una routin direttamente dai button ma dalle sub,mi piego: es. Sub salvatesto
testo.initzializze (file.output.ecc........) poi sul button_click salvatesto. cosi?
Non esattamente così e non lo consiglio a te, ma a chiunque, ME COMPRESO
.
E' un consiglio generale in programmazione, consiglio che tutti noi probabilmente fatichiamo a seguire: tenere separato il codice dall'interfaccia grafica (e magari i dati dal codice
).
Le routine evento (quelle tipo xxx_Cllick, xxx_Touch, etc) dovrebbero contenere solo chiamate ad altre routine (meglio ancora queste routine dovrebbero stare anche in moduli diversi).
Ad esempio:
Sub btnSalva_Click
Salva
End Sub
Sub Salva
'...
End Sub
In questo modo, la routine Salva potrà essere chiamata anche da altri punti del codice. Questo esempio non è l'ideale per capire il motivo, perché Salva non ha parameteri.
Facciamo il caso di una routine che riceve coordinate X, Y dello schermo per disegnarci qualcosa. Se scrivi la routine che Disegna(X, Y, qualcosa) puoi poi chiamarla sia da un evento come Panel1_Touch(Action As Int, X As Float, Y As Float) sia da un Button1_Click, se ad esempio nella Button1_Click aumenti la posizione X che è una variabile a livello di modulo.
Se poi la routine Disegna fosse:
Sub Disegna(Dove As Object, X As Int, Y As Int, Bmp As Bitmap)
potresti metterla in un modulo separato e chiamarla da tutti gli altri moduli, usando parametri diversi e, ad esempio, chiamata da eventi legati a View diverse (quindi Disegna sarebbe codice separato da "View_Touch" o "View_Click"...)
Insomma, tutta sta pappardella per dire che tenere il codice separato dall'interfaccia grafica è una buona abitudine ed è utile in molti casi (modifiche, manutenzione, ...)