PDA

View Full Version : سوال: انتقال داده از یک فرم به فرم دیگر و برعکس



omidrajabitiz
چهارشنبه 08 خرداد 1392, 15:28 عصر
با سلام
دو فرم form1 و Input داریم که بر روی هر یک از فرم ها یک تکست باکس و یک دکمه وجود داره.
با این در نظر گرفتن این فرض که خاصیت Modifiers هر یک از تکست باکسها در حالت public قرار داده شده.
با استفاده از کد زیر در می توان متن تکست باکس فرم 1 را به متن تکست باکس 2 فرستاد
private void button5_Click_1(object sender, EventArgs e)
{
Input f = new Input();
f.textBox1.Text = textBox1.Text;
f.Show();
}
اما مشکل اینجاست که اگر بخواهیم متن اصلاح شده از تکست باکس در فرم Input را به تکست باکس form1 بفرستم با استفاده از کد زیر تغییری در متن اتفاق نمی افته!

private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
f1.textBox1.Text=textBox1.Text ;
this.Close();
}


از دوستان کسی می تونه کمک کنه!:متفکر:

svhasvha
چهارشنبه 08 خرداد 1392, 17:13 عصر
فکر کنم اینطوری بتونی جواب بگیری
کد اولتو اینطور تغییر بده


private void button5_Click_1(object sender, EventArgs e)
{
Input f = new Input();
f.textBox1.Text = textBox1.Text;
f.ShowDialog();
textBox1.Text = f.textBox1.Text;
}

کد دوم دیگه مهم نیست فقط کافیه فرم دوم بسته بشه
ولی در کل واسه انتقال بهترین واستاندارد ترین کار استفاده از کلاسه

omidrajabitiz
چهارشنبه 08 خرداد 1392, 17:18 عصر
فکر کنم اینطوری بتونی جواب بگیری
کد اولتو اینطور تغییر بده


private void button5_Click_1(object sender, EventArgs e)
{
Input f = new Input();
f.textBox1.Text = textBox1.Text;
f.ShowDialog();
textBox1.Text = f.textBox1.Text;
}

کد دوم دیگه مهم نیست فقط کافیه فرم دوم بسته بشه
ولی در کل واسه انتقال بهترین واستاندارد ترین کار استفاده از کلاسه

دستت درست! مرسی:تشویق:

alexmcse
پنج شنبه 09 خرداد 1392, 11:23 صبح
با سلام
دو فرم form1 و Input داریم که بر روی هر یک از فرم ها یک تکست باکس و یک دکمه وجود داره.
با این در نظر گرفتن این فرض که خاصیت Modifiers هر یک از تکست باکسها در حالت public قرار داده شده.
با استفاده از کد زیر در می توان متن تکست باکس فرم 1 را به متن تکست باکس 2 فرستاد
private void button5_Click_1(object sender, EventArgs e)
{
Input f = new Input();
f.textBox1.Text = textBox1.Text;
f.Show();
}
اما مشکل اینجاست که اگر بخواهیم متن اصلاح شده از تکست باکس در فرم Input را به تکست باکس form1 بفرستم با استفاده از کد زیر تغییری در متن اتفاق نمی افته!

private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
f1.textBox1.Text=textBox1.Text ;
this.Close();
}


از دوستان کسی می تونه کمک کنه!:متفکر:

foreach (Form frm in Application.OpenForms)
{
if (frm is Form1)
{
Form1 f1 = (Form1)frm;
f1.label1.Text = "Changed via Form2";
}
}

مشکلی داشتی بیان کن