Utilizzo di un controllo di un form da una classe esterna

sabato 14 marzo 2009 - 11.59

plavua@gmail.com Profilo | Newbie

Ciao a tutti,
Vorrei in pratica utilizzare un controllo che si trova in un Form da una classe esterna.

luigidibiasi Profilo | Guru

Prova così:

(nella classe esterna)
public sub registerHandler(byref _src as [TipoControllo]) _src.Metodo end sub
Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/

plavua@gmail.com Profilo | Newbie

non ho capito bene il ref mi puoi fare un esempio in quali casi lo uso e come si utilizza?

Riguardo al mio problema ho risolto in questo modo:

Dal form principale frmForm1 ho messo il bottone private void button1_Click(object sender, EventArgs e) { classeesterna miaclasseesterna = new classeesterna; miaclasseesterna.InserimentoInLabel(); } ricordandomi di mettere il label non in private ma in public e infine nella mia classe esterna ho messo questo public void InserimentoInLabel() { string stringaPerLabel = "ciao pippo"; frmForm1 frm = Application.OpenForms["frmForm1"] as frmForm1; frm.label1.Text = stringaPerLabel; }

Testato e funzionante !!

Ciao a tutti alla prossima

luigidibiasi Profilo | Guru

>non ho capito bene il ref mi puoi fare un esempio in quali casi
>lo uso e come si utilizza?

Byref (vb.net) ti permetteva di passare il riferimento alla label alla classe esterna in modo da evitarti
la chiamata alla Application.openForm

nella classe esterna avresti usato


public sub registerHandler(byref _srcLabel as label)
_srcLabel.text = "testo da scrivere"
end sub

tradotto in c# non so come verrebbe però

>
>Riguardo al mio problema ho risolto in questo modo:
>
>
>Dal form principale frmForm1 ho messo il bottone
>
>private void button1_Click(object sender, EventArgs e)
>{
> classeesterna miaclasseesterna = new classeesterna;
> miaclasseesterna.InserimentoInLabel();
>}
>
>ricordandomi di mettere il label non in private ma in public
>
>e infine nella mia classe esterna ho messo questo
>
>public void InserimentoInLabel()
>{
> string stringaPerLabel = "ciao pippo";
>frmForm1 frm = Application.OpenForms["frmForm1"] as frmForm1;
> frm.label1.Text = stringaPerLabel;
>}
>

Buona soluzione anche questa (non conoscevo OpenForms)

>
>
>Testato e funzionante !!
>
>Ciao a tutti alla prossima

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5