Ricaricare una form

giovedì 22 maggio 2008 - 13.51

controvento Profilo | Newbie

Salve a tutti, scusatemi ma la domanda mi sembra quasi imbarazzante per quanto sia banale, ma il mio bel pulsante e dopo averlo premuto, devo ricaricare la form...ma non trovo il metodo da invocare!

Me.refresh

non ricarica la form, ma non trovo nulla del tipo, me.reload, o qualcosa di simile...come posso fare?

assiolle Profilo | Junior Member

Spiega meglio perchè devi ricaricare il form?
Alessio
http://blogs.dotnethell.it/alessiop

controvento Profilo | Newbie

Quando carico la form, faccio delle interrogazioni da un DB, e le inserisco a video in diversi moduli.

Un pulsante della stessa form però, cancella degli elementi dal DB, rendendo le informazioni visualizzate ,inconsistenti.

Potrei cancellare le informazioni manualmente, ma onestamente vedo molto più sensato ricaricare la form, e farle ripetere le interrogazioni che ha fatto in fase di LOAD

assiolle Profilo | Junior Member

>Quando carico la form, faccio delle interrogazioni da un DB,
>e le inserisco a video in diversi moduli.

In diversi componenti intendi. Tipo combobox,datagrid..etcc ?

>Un pulsante della stessa form però, cancella degli elementi dal
>DB, rendendo le informazioni visualizzate ,inconsistenti.
>
>Potrei cancellare le informazioni manualmente,

Come colleghi i dati agli oggetti, tramite un Dataset ?

>ma onestamente vedo molto più sensato ricaricare la form, e farle ripetere le
>interrogazioni che ha fatto in fase di LOAD

Non mi pare una bella soluzione...
Alessio
http://blogs.dotnethell.it/alessiop

controvento Profilo | Newbie

...sì, in diversi componenti, listbox, textbox, ecc...ma il DB non è collegato a nessun dataset.

Comunque sarebbe un pò complesso e poco utile spiegare le procedure di caricamento, semplicemente devo evitare problemi di inconsistenza, e ricaricare la form è la cosa migliore per me.

Sarebbe bello dopo questa chiacchierata sapere se però sai chiarirmi come si fa

mau_mau Profilo | Newbie

Potresti farti una sub che carica dal DB,
la richiami nel Form_Load e nell'evento Button_Click.

Poi non so se le operazioni che fai sono molto + complesse.

Potresti anche usare un'oggetto BindingSource ed ogni volta che esegui un Fill o un Update etc...
automaticamente tutti i controlli che puntano a quel BindingSource vengono aggiornati.

Ricaricare la Form non ha senso.

Ciao.

controvento Profilo | Newbie

>Potresti farti una sub che carica dal DB,
>la richiami nel Form_Load e nell'evento Button_Click.
>
>Poi non so se le operazioni che fai sono molto + complesse.

Non volevo far sembrare che sto facendo un progetto per la NASA, non è nulla di così complesso
Solo che spiegarlo, ovviamente allontana la discussione dalla domanda, "come si ricarica la form?"

La sub che aggiorna il DB esiste già nell'evento FORM_LOAD, se la ricopio nell'evento BUTTON_CLICK, aggiurno il DB, ma non le informazioni visualizzate a video...per aggiurnare sia DB che informazioni a video, basta semplicemente ripetere la FORM_LOAD, che fa tutto ciò che mi serve, ecco perchè cercavo di capire come fare

mau_mau Profilo | Newbie

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form_Load(sender, e)
End Sub

Ciao.


controvento Profilo | Newbie

Beh, è quasi questa la soluzione, solo che quando apri per la prima volta la form, VB.net carica tutti i valori di default dei moduli
Con FORM_LOAD ricarico solo il codice scritto da me, ma la listbox non si svuota, le textbox non si cancellano...ecc ecc...
Mi sa che mi toccherà farlo a mano^_^

Pazienza, però è strano non essere riusciti a trovare un modo per semplicemente ricaricare la form, come se venisse aperta per la prima volta.

Grazie cmq per le risposte.

assiolle Profilo | Junior Member

Esatto!

Io volevo solo indicarti che è molto più convenienti lavorare con oggetti legati hai dati.

Ciao
Alessio
http://blogs.dotnethell.it/alessiop

mau_mau Profilo | Newbie

>Beh, è quasi questa la soluzione, solo che quando apri per la
>prima volta la form, VB.net carica tutti i valori di default
>dei moduli
>Con FORM_LOAD ricarico solo il codice scritto da me, ma la listbox
>non si svuota, le textbox non si cancellano...ecc ecc...
>Mi sa che mi toccherà farlo a mano^_^
>

Quando carichi la form per la prima volta, passi dall'
InitializeComponent();
qui vengono istanziati tutti i tuoi controlli.

Quindi, nell'esempio di una Textbox, resetti la proprità Text e la
valorizzi nuovamente, lo stesso per i DataGridView o ComboBox che siano.

Io pensavo che ti bastasse richiamare la Sub Load.
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5