Newsgroup: it.comp.lang.visual-basic
Titolo: [?] dim and new and printform

non capisco una cosa, ho un progetto con la mia bella form a colori tutta
bella vivace e volevo stamparla togliendo i pulsanti che non servono
allora ho scritto questo codice
Dim frmstampa As New frmMain
With frmstampa
    .BackColor = vbWhite
    .frameBordero.BackColor = vbWhite
    .lbVersamento.ForeColor = vbBlack
    .lbEuro.ForeColor = vbBlack
    .cmdAnnulla.Visible = False
    .cmdCancella.Visible = False
    .cmdNuovo.Visible = False
    .cmdNext.Visible = False
    .cmdPre.Visible = False
    .cmdSalva.Visible = False
    .cmdModifica.Visible = False
    .cmdFirst.Visible = False
    .cmdLast.Visible = False
    .PrintForm
End With
Unload frmstampa
solo che invece di stamparmi la form che vedo in quell'istante, mi stampa la
form con i valori caricati all'avvio e quindi mi stampa cose sbagliate
come faccio a fare una copia della form attuale con tutti i campi che vedo
in quel momento??
grazie

 in quel momento??
Probabilmente basta un Me.Refresh (con la proprietą AutoRedraw=True)
Comunque, se vai qui
http://search.microsoft.com/advanced_search.asp?siteid=us/dev
 e cerchi
PrintForm ti renderai conto di quanto questo metodo assomigli al groviera.
Vedi qui, va molto meglio:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;161299


purtroppo non basta me.refresh con autoredraw a true, adesso mi leggo un pò
i link che hai postato,
ma ho come l'impressione che mi dovrò gestire la stampa con l'oggetto
printer e io che non mi volevo
sbattere a formattare tutto per stampare........ :-(

 >
letto i link ma non ho cavato nessun ragno dal buco
....non so se considerarlo un bug di vb oppure sono io che non sono capace,
fatto stą
che non ho trovato niente in merito per vedere come mai se faccio una new
form
la form che mi viene creata non č quella al momento della new form ma la
form al momento
del caricamento del programma......mah
adesso mi prodigo a scrivere il codice per stampare sta form maledetta con
l'oggetto printer

 del caricamento del programma......mah
[SNIP]
Questo e' normale, dato che quando crei una nuova istanza di oggetto i suoi
membri vengono assegnati i valori di default; questo vale per tutte le
classi, inclusa la tua classe frmMain, che corrisponde alla form cosi' come
e' stata definita *in design*.
Su due piedi vedo queste possibilita':
- Lasci perdere PrintForm e usi un'altro metodo di stampa (IMHO cosa buona e
giusta... PrintForm ci mette poco a mostrare i suoi limiti a breve termine)
- Usi direttamente la finestra attiva per la stampa (facile da fare, ma ha
il difetto di dover far vedere a video la preparazione con cambio di colori,
bottoni che spariscono ecc...)
- Usi il New e ti preoccupi di copiare i valori che ti interessano da
un'istanza di form all'altra prima di stampare (devi scorrere gli elementi
della collection Controls e agire di conseguenza... su finestre
relativamente semplici puo' anche andare, altrimenti la cosa tende a
diventare drammatica, specie se hai dei controlli di tipo lista/griglia che
devono essere ripopolati interamente)
Vedi un po' tu, io ribadisco il suggerimento di lasciar perdere PrintForm e
passare a qualcosa, certamente piu' faticoso da scrivere, ma sul quale hai
il controllo completo.
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown


ho già purtroppo per il tempo che sto perdendo il metodo printform e ho
quasi finito di fare la stampa
con il buon vecchio oggetto printer, mi ci è voluto un pò e un pò di
controlli ma ho ottenuto lo stesso
risultato.
grazie delle risposte