Newsgroup: it.comp.lang.visual-basic
Titolo: wndProc e messaggi per una winform

VB.net permette di subclassare agevolemente winform e controlli
ho trovato questa lista commentata
http://www.pinvoke.net/default.aspx/Enums.WindowsMessages
eh ho piazzato per capire
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
TextBox1.Text += ("< " + m.Msg.ToString + ">" + Hex(m.Msg) + vbCrLf)
MyBase.WndProc(m)
End Sub
...però non ci capisco nulla!...in teoria si stabilizza su un Hex133 che 
dovrebbe essere CTLCOLOREDIT...??!!!
vorrei farmi una mia personale routine quando TUTTA la form è creata e 
quando tutti i controlli in essa sono istanziati e visalizzati...e che viene 
scatenato una volta!
Apri la form...viene visualizzata....scatta!
Hide
Show
dovrebbe riscattare
Activated non va bene (probabilmente qualcosa ancora non è perfettamente 
creato o istanziato o che ne so)
Paint può essere eseguito più volte
Pensavo GotFocus....ma non va bene....
Show nemmeno
Il problema credo sia la generazione dei controlli dentro la form (come 
detto qualche post più sotto) perchè se metto del codice oneshot in un timer 
brevissimo...tutto funziona!...la form appare...il timer parte una 
volta...il codice viene eseguito
Dentro la form ci sono 2 textbox qualche label 2 panel...niene dbqualcosa!!!
BOH!
a me ste cose mi mandano via da matti....
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
http://wodka40hall.myminicity.com/
 

 Show nemmeno
Perché l'evento Show*n* non va bene?
Bye
Raf 

 ha scritto nel messaggio
news:48bd58e8$0$11375$5fc...@news.tiscali.it...



sigh che ne so....!!!
non scatta delle volte!
cmq....ho aggirato il problema
...e scoperta un altra cosa che non sapevo
la situazione è questa
tutte modali...
form1.showdialog
invoca form2.showdialog
in form2 ad un certo punto c'è (l'ho messo in una sub invocata da activated)
Me.Close()
ProgLogin.Azione = "V"
ProgLogin.Show()
in form1 ora c'è
Private Sub ProgLogin_Activated(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Me.Activated
Select Case mAzione.ToUpper
Case "A"
Dim msg As String
msg = "Attenzione: (" + UtenteAttivo.retCode.ToString + ")" + vbCrLf + 
UtenteAttivo.retErr + vbCrLf + "Controlalre l'esatta digitazione dei dati 
facendo attenzione alle maiuscole e alle minuscole." + vbCrLf + "Se il 
problema persiste contattate l'assistenza."
'MessageBox.Show(msg, "Errore procedura accesso", MessageBoxButtons.OK, 
MessageBoxIcon.Warning)
MessageBox.Show("dhuiediue", "h", MessageBoxButtons.OKCancel, 
MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, 
MessageBoxOptions.ServiceNotification)
Case "V"
mAzione = "X"
Me.Close()
End Select
End Sub
ed ora funziona
smanetta...leggi...prova il subclassing.....
sta msgbox non si chiudeva ne funzionava il set delle var...loop continuo
poi mi si illumina e provo
MessageBoxOptions.ServiceNotification
e tutto va a posto.....
ma la confusione aumenta....perchè non sò il default della msgbox come 
faceva ad incasinare il sistema mandandola in loop continuo...nel paint non 
c'è nulla!!!
-- 


 activated) Me.Close()
Mmmm, non mi sembra molto "igienico" chiudere il form sull'attivazione dello 
stesso...
I form sono 2 o 3? perché non ho mica tanto ben capito, sai...
Mi spieghi come vorresti che funzionasse?
Magari c'č un modo piů lineare di ottenere quello che desideri, 
l'implementazione attuale mi sembra un po' farraginosa e poco .NET-like, 
IMHO...
Ciao
Raf 

 .NET-like, IMHO...
Beh piů che altro č una prova di "complicazione inutile"
Programma.....
start su una mdiform...(piů sano da una sub main...e chiamare la form1....ma 
concedimila questa divagazione!)
la PRIMA cosa da fare č connetersi ad un server remoto (ora č sql 
server...ma non č detto che rimanga)
cmq
nel load della mdiform (poi ti spiego il perchč nella load)
c'č un form1.showdialog
va in mano a degli utonti tontissimi
grafichetta del cazzo....pirillini vari...per raccogliere nome utente e 
password
fin qui....nulla di nuovo!
ora il problema č questo....il server puň essere remoto...nel senso che 
tramite vpn puň essere distante chilometri...e non rispondere subito
ed allora per scoraggiare cliccate a destra e a manca...o avvii di solitari 
o campi minati....
gli mostro un altra form dove succede qualcosa di carino....
una progressa bar animata....per ora....
quando il server si č connesso recupera i dati relativi all'utente e altri 
dati....
se va tutto bene chiude tutte  le form e con i dati caricati dal server 
mostra i menu abilitati per quell'utente
altrimenti
ri-mostra la form1 con apposito messaggio di errore "pirla scrivi bene nome 
utente e password"
dopo x tentativi appare bill gates che lo manda a fanculo e si chiude tutto!
la mia divagazione č nel mettere lo "stacchetto alle veline" aspettando che 
il server risponda e carichi i dati...!!!
e nel volerlo fare IN UN ALTRA form! (stretta e lunga!!!)
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia cittŕ
http://wodka40hall.myminicity.com/
 

 e nel volerlo fare IN UN ALTRA form! (stretta e lunga!!!)
Domani provo a dirti come farei io, ora sto uscendo, perdonami...
Ciao
Raf 

 bene nome utente e password"
Ecco non so se ho capito bene, ma per fare questo tu sfrutti l'evento 
Activate del form1, in cui testi un parametro ed eventualmente fai apparire 
un messagebox.
Ho paura che sia qui il busillis. Mi sembra filosoficamente un po' 
ingarbugliato (oltre che fonte di casini) voler far apparire 2 form modali 
(il form login e il messagebox) praticamente in simultanea.
Hai 2 "informazioni" da mostrare all'utente. O le mostri in sequenza, o le 
mostri contemporaneamente, ma usando una stessa interfaccia.
Quindi i casi sono 2:
- o PRIMA mostri il messagebox con l'errore, POI quando l'utente lo ha 
recepito, fai riapparire il form in cui immette le credenziali
- oppure riservi un'area nel form di login in cui, se le user e pass sono 
errati, fai apparire una bella scritta rossa, magari condita con qualche 
icona, e fai apparire solo quel form.
Personalmente avrei usato 1 solo form per tutte e tre gli scopi: login, 
"cinema" durante l'attesa del collegamento al server, e notifica di 
eventuali errori.
Ciao
Raf 

"Rafunk" <rafun...@NOTHANKSlibero.it> ha scritto nel messaggio
news:g9lh7d$nmp$
1...@alix.livenet.it

la sequenza è
 START
    --> Form Login
            ---(premi connetti)---> Form Cinema
                                                Form Cinema OK (chiudi 
Cinema..Chiudi Login...prosegui)
                                                Fom Cinema Errore(qualsiasi 
errore)
                                         <---
                Form Login con messaggio errore
                tipicamente (Controllare nome utente e password)
                Nuova digitazione
                                    ---->Form Cinema etc etc........
                sono modali....visto che 
vb.net
 lo consente....perchè ho 
esperienza di utonti che sparacchiano click come se fossero a giocare a 
Doom!!!
la sequenza ora funziona
bisognava impostare come detto MessageBoxOptions.ServiceNotification
solo che....
a) Ci sono arrivato a tentativi
b) non so perchè funziona così e non lasciando il default della "messagebox"
c) brutto far funzionare "a caso" le applicazioni!
....boh!
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
http://wodka40hall.myminicity.com/
 

 ....boh!
Scusa ma allora che bisogno hai di mettere del codice in un evento 
(activate, shown o altro) del form Login?
Quello che mi immagino č:
1) Il form "cinema" contiene anche il codice per effettuare il collegamento 
(questo verrŕ avviato nell'evento Shown)
2) Tale form viene chiuso automaticamente alla fine del collegamento, 
impostando prima DialogResult su un valore opportuno (es. DialogResult.Yes 
se OK, DialogResult.No se errore, DialogResult.Cancel se l'utente ha 
interrotto)
3) Evento Connect_Click in form login:
    frmCinema.ShowDialog
    If frmCinema.DialogResult = DialogResult.No Then
        MessageBox.Show "Errore, ripetere il login prego."
        ...
(E si potrebbe anche migliorare, volendo)
Ciao
Raf 

 Raf
LA verita? ...verità?
...perchè non ci avevo pensato!
:oP
-- 
