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
App. WinForms / WPF .NET
Richiamare Metodi in applicazioni MDI
sabato 15 gennaio 2005 - 11.59
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Massimo40
Profilo
| Newbie
2
messaggi | Data Invio:
sab 15 gen 2005 - 11:59
Salve Ragazzi, ho il seguente problema banale ma sto impazzendo:
in una form child ho il seguente metodo:
public void button1_Click(object sender, System.EventArgs e)
{
ds.Clear();
//this.dg1.DataSource=ds;
bool Esito=false;
Accesso mc = new Accesso();
mc.Scmd = new SqlCommand();
mc.Scmd.Parameters.Add("@pag_descrizione", txtPag.Text + "%");
try
{
mc.AccessoDati("Pag]",false).Fill(ds, "Pagamenti");
}
catch
{
MessageBox.Show("Nessuna Tabella Individuata!");
Esito=true;
}
finally
{
mc.EsitoTrans(Esito);
}
}
Devo mandarlo in esecuzione da una voce di menu *Cerca* del Form mdiParent
ho provato così ma C# non compila:
private void mioDelegato(object sender, System.EventArgs e)
{
myDel mioDel = new myDel(this.ActiveMdiChild.button1_Click);
mioDel();
}
l'errore é:
'System.Windows.Forms.Form' non contiene una definizione per 'button1_Click'.
Grazie a tutti
Massimo
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 15 gen 2005 - 14:53
Io sapevo che i event delegate sono fatti in questo modo:
public delegate void EventHandler(object sender, EventArgs e);
poi:
public event EventHandler MyClick ;
// questo dichiarato come evento membro all'interno della classe
// aggiunta dell'evento alla textbox
myTextBox.MyClick += new System.EventHandler (this.myTextBox_MyClick);
// gestore dell'evento
protected void myTextBox_MyClick(object sender, System.EventArgs e)
...
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
dom 16 gen 2005 - 09:59
Sicuramente c'è altra soluzione migliore di quella che ti indico ma non essendo esperto in programmazione MDI...
Allora, crea una classe astratta e inserisci lì il codice del metodo che c'è sotto il button click.
In questo modo poi da qualunque parte dell'applicazione puoi eseguirlo digitando il nome della classe astratta punto il metodo e puoi passare dei aprametri:
classe.metodo(parametro 1, parametro2, ecc.)
Le classi astratte sono diverse dalle altre perchè non richiedono di essere istanziate (con la new)
ciao
david
Massimo40
Profilo
| Newbie
2
messaggi | Data Invio:
lun 17 gen 2005 - 08:32
Per BrainKiller:
Innanzi tutto grazie; non posso riferirmi ad una classe astratta, perchè comunque, dal form MDI devo passare parametri di una datagridid presente nel form child. Il metodo che richiamo, riempe semplicente un dataset tramite un dataAdapter restituito da una classe esterna, alla quale vengono passati parametri. Ho ancora in mente i retaggi del VB6 dove potevo fare: Screen.ActiveForm.MiaFunzionePubblica e la funzione Call.
Per Ctezia:
Ciao Luciano, sei anche qui ad illuninare noi poveri mortali?
Penso che un giorno dovrò farti un bel regalo. Vedrò di studiarmi meglio i delegate, sono un concetto ancora un pò ostico che non ho ben metabolizzato. Ma davvero non si riesce a mandare in esecuzione un metodo di una form child in modo + semplice tipo: this.ActiveMdiChild.button1_Click da una form parent?
Ciao e grazie di nuovo ad entrambi
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
lun 17 gen 2005 - 09:29
Ciao,
Se vai sugli articoli presenti su www.visual-basic.it trovi alcune indicazioni sui delegate
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 !