[C#]Problema nell'accedere a proprietà tra due form

domenica 03 settembre 2006 - 12.38

gigi90 Profilo | Senior Member

Nel mio progetto ho due form frmIniziale e frmSecondo:
il form di avvio e frmIniziale, e su questi ho un pulsante chiamato btnAvvia, ed al click del pulsante ho inserito il seguente codice:

void btnAvvia_Click(... sender,... e) { frmSecondo Opzioni;//Creo una nuova istanze del secondo form Opzioni.Show();//Avvio il secondo form this.Visible=false;//Nasconde il primo form }
In prtica quello che volevo ottenere è che al click sul bottone si aprisse il secondo form e si nascondesse il primo, e fin qui tutto bene.

Ora alla chiusura del frmSecondo volevo visualizzare di nuovo il form primo.
Ma quando alla procedura di gestione della chiusura di frmSecono inserisco il seguente codice:

void frmSecondo_Closing(...Sender,...e) { frmIniziale. //Non appare la proprietà visible per impostarla a true }

e se la inserisco manualmente dice il seguente errore:
-----------------------------------------------------------------------------------------------------------------
Errore 1 Occorre un riferimento a un oggetto per la proprietà, il metodo o il campo non statico 'System.Windows.Forms.Control.Visible.get' C:\Documents and Settings\Utente\Desktop\Altro\Gianluigi\Informatica\Sorgente progetti\C#\Software Beta\Chessboards Plus\Chessboards Plus\frmDama.cs 26 17 Chessboards Plus
------------------------------------------------------------------------------------------------------------------
Come faccio per visualizzare di nuovo il primo form?

Cteniza Profilo | Guru

Prova a mettere una proprietà di tipo form sulla form "chiamata":
private Form mFormChiamante;
public Form FormChiamante
{
get { return mFormChiamante; }
set { mFormChiamante = value; }
}

poi sulla form chiamante scrivi:
Form2 frm = new Form2();
frm.FormChiamante = this;

sull'evento "closing" puoi scrivere:
this.FormChiamante.Visible = true;

gigi90 Profilo | Senior Member

Grazie tante della risposta. Comunque non esiste un metodo per interagire tra le proprietà di due form senza usrare questi accorgimenti???

gigi90 Profilo | Senior Member

Intendo dire che in visual basic questo si puo fare direttamente esempio se io ho due form form1 e form2

apro il secondo e nascondo il primo facendo semplicemente:

me.visible = false form 2.Show()

e chiudo il secondo e rendo di nuovo visibile il primo con:

form1.visible=true me.Close();

perchè in c# non appaiono le proprietà?



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