Passaggio parametri

venerdì 22 gennaio 2010 - 15.19

Ninja87 Profilo | Junior Member

Innanzitutto ciao a tutti sono nuovo del forum, spero che qualcuno possa aiutarmi.
Passiamo alla mia domanda, so bene che il quesito è banale tuttavia ancora non sono riuscito a trovare una soluzione.
In un applicazione C# ho due form aperte, la seconda form che viene aperta dalla prima devo passare alcuni valori dalla form 2 alla prima, sono riuscito a trovare soluzioni sempre in base al fatto che la form di destinazione sia chiusa, quindi in questo caso basterebbe creare un'instaza della prima form poi sarei in grado di accedere a tutti gli oggetti della form stessa.

quindi ad esempio:

private void NomeFunzione()
{
Form1 frmForm1 = new Form1();
frmForm1.textbox.Text = valore;
frmForm1.Show();
}

Non so se sono stato abbastanza chiaro.
Qualcuno sa come risolvere il mio problema?
In VB era più semplice bastava fare [NomeForm].[NomeOggetto].[Proprietà] = valore.
Grazie in anticipo per ogni aiuto.

Jeremy Profilo | Guru

Ciao.
Nella Form2 puoi creare una proprietà di tipo Form1 la quale verrà valorizzata con l'istanza di Form1 che passerai nel costruttore di Form2

Mi spiego meglio:
Public Class Form1 Private Sub ApriForm1() Dim newform2 As New Form2(Me) newform2.Show() End Sub End Class Public Class Form2 Private _Form1 As Form1 Public Property Form1() As Form1 Get Return _Form1 End Get Set(ByVal value As Form1) _Form1 = value End Set End Property Public Sub New(ByVal form1 As Form1) InitializeComponent() _Form1 = form1 End Sub End Class


Facci sapere...
Ciao

Ninja87 Profilo | Junior Member

Grazie ancora per la risposta, comunque non sono riuscito ad utilizzare la procedura da te utilizzata non so se ho ho scritto bene ho messo nel codice della Form1 questo codice

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 frmForm2 = new Form2(this);
frmForm2.Show();
}
}

e nella Form2 questo

public partial class Form2 : Form
{
Form1 _Form1;

public Form1 Form1
{
get
{
return _Form1;
}
set
{
_Form1 = value;
}
}

public Form2(Form1 form1)
{
InitializeComponent();
_Form1 = form1;
}
}

Ninja87 Profilo | Junior Member

chido scusa ho risolto mettendo il modificatore public alla textbox presente nella form1 e poi dalla form2 posso fare _frmScan.textBox1.Text = "valore":
grazie ancora.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5