Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
Comparsa di una messageBox
lunedì 20 ottobre 2008 - 15.52
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
RekLats
Profilo
| Newbie
13
messaggi | Data Invio:
lun 20 ott 2008 - 15:52
ciao a tutti!
Dovrei scrivere un codice che mi permette di poter lanciare degli warning a video su controlli del form tipo textBox o anche su messageBox, una volta che siano state verificate delle condizioni su una classe che non sia il Main Form (ma che viene comunque istanziata nel Form).
Ad esempio: ho una classe che si chama Parser, che lavora su un file di testo, che ha una proprietà bool. Vorrei, una volta verificato che questa proprietà è FALSE (l'esecuzione "ce l'ha" Parser ora), poter far comparire sul Form un messaggio, o comunque "passargli" in qualche modo il controllo.
Come posso fare?
Grazie
gabriel81
Profilo
| Junior Member
194
messaggi | Data Invio:
lun 20 ott 2008 - 15:58
puoi spiegarti meglio???
RekLats
Profilo
| Newbie
13
messaggi | Data Invio:
lun 20 ott 2008 - 16:48
Dovrei far apparire ad esempio una messagebox, chiamandola da una classe che non sia il form. Poiché i controlli del form sono proprietà unicamente del form, volevo sapere se c'è un modo per gestirli dall'esterno, ossia definendo la comparsa di una finestra di messaggio (es: un warning a video) oppure scrivere su una textbox (es: un warning scritto su una logbox), definendo questo in una classe esterna al form.
gabriel81
Profilo
| Junior Member
194
messaggi | Data Invio:
lun 20 ott 2008 - 16:58
Vediamo se ho capito:
tu hai una classe che esegue dei controlli su di un form, o meglio sui suoi controlli e vuoi che questa classe vada a controllare direttamente la classe istanziata, o meglio i suoi controlli....
questa classecome è collegata al form, ovvero come la implementi nel form?
Posta il codice, così vedo un po'
RekLats
Profilo
| Newbie
13
messaggi | Data Invio:
lun 20 ott 2008 - 17:27
non proprio
Quando parlo di "controlli del form" mi riferisco agli oggetti che vengono inseriti dalla toolbox sul form: bottoni, textbox, datagrid, checkbox etc...
Forse quello che ho mancato di dire è che devo poter agire su questi oggetti del form dall'interno di un metodo che appartiene ad una classe qualsiasi.
Che tale classe sia poi istanziata all'interno del form non credo abbia poi tanta importanza.
Il codice è un pò troppo grosso, ma ti faccio un esempio banale: ho un metodo all'interno di una classe (Parser) che fa la somma di due numeri. Nel caso in cui il risultato sia > di 25 volessi farlo presente su una textbox o far comparire una messagebox che mi dice "hey attenzione il risultato è > 25" come potrei fare? Non voglio richiamare la messagebox dal form, ma vorrei poterlo fare dall'esterno, definendolo nel metodo che fa la somma all'interno della classe Parser.
gabriel81
Profilo
| Junior Member
194
messaggi | Data Invio:
lun 20 ott 2008 - 17:39
Ora finalmente ho capito.
Diciamo che è un tipo di approccio che non ho mai usato.
Spero di aiutarti con il tipo di approccio che uso io in genere
io istanzioi flussi di controllo dentro il form stesso.
Le classi vanno ad eseguire una ricerca per cast, basandosi sulla proprietà findform.
A dire il vero le mie classi sono veri e propri componenti.
Ho creato una MIA versione di textbox,combobox, datagridview ecc ecc
Questi componenti fanno già in automatico quello che voglio senza scrivere una riga di codice.
Se nella classe MioTextbox crei un metodo controllo() e gli metti l'handles Me.LostFocus, questo metodo parte ad ogni uscita dall'oggeto miotextbox1.
Spero di essermi spiegato....
RekLats
Profilo
| Newbie
13
messaggi | Data Invio:
mar 21 ott 2008 - 10:52
Innanzitutto grazie per l'interessamento!!
Non si potrebbe gestire questo problema mediante eventi, delegati o roba simile? E se si come? Purtroppo ho diverse lacune in merito, ho provato a vedere qualcosa sull'argomento ma mi risulta un pò ostico... Non saprei nemmeno se sia questa la strada giusta!
gabriel81
Profilo
| Junior Member
194
messaggi | Data Invio:
mar 21 ott 2008 - 11:48
>Innanzitutto grazie per l'interessamento!!
>
Non ti preoccupare! Sai quanti aiuti ho ricevuto io qui???? E' il bello della comunity
>Non si potrebbe gestire questo problema mediante eventi, delegati
>o roba simile? E se si come? Purtroppo ho diverse lacune in merito,
>ho provato a vedere qualcosa sull'argomento ma mi risulta un
>pò ostico... Non saprei nemmeno se sia questa la strada giusta!
Guarda, io questo mondo l'ho sempre evitato.
Quindi non ti posso aiutare, per quanto riguarda l'approccio che usi tu.
Ora ti spiego il perchè ed il percome uso il mio approccio, ma voglio specificare che la mia non è assolutamente una critica al tuo approccio!
Siccome i programmi che creo sono più o meno sempre simili, ovvero gestione dati da Db, ho capito che la via + veloce è quella di esermi creato appunto i miei controlli personalizzati.
Pensa che bello avere a sinistra nella barra dei controlli, i tuoi personalizzati: ti basta trascinarli sul form e basta.
Funzionano esattamente come vuoi tu.
Ti faccio un esempio:
Prova ad immaginare un datagrid che abbia un metodo AggiornaDati(Byval Query as String)
Ti basta scrivere Me.MyDatagrid1.AggiornaDati("SELECT * FROM TABELLA") e la datagrid si popola.
Prova ad immaginare un combobox che abbia un metodo AggiornaDati(Byval Query as String)
Ti basta scrivere Me.MyCombobox1.AggiornaDati("SELECT * FROM TABELLA") e la combo si popola.
ecc... ecc... ecc...
Inoltre, credo che lavorare con un oggetto esterno al form che deve andare nel form aperto e andare a ciclare sui suoi controlli per fare dei controlli sia più pesante che la soluzione che uso io:
il controllo opera su se stesso e quindi il percosso che fa il thread è molto più corto.
Pensaci, ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !