PDA

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



msozan
شنبه 04 اردیبهشت 1389, 08:22 صبح
سلام
با زدن یه کلیک در فرم اول، فرم دوم باز میشه و در فرم دوم وقتی یک سری عملیات انجام میشه و دکمه ای زده میشه باید فرم اول (فرم زیرین) هم اطلاعاتش آپدیت بشه
باچه کدی میتونم اطلاعات فرم دومی رو به اولی انتقال بدم عکس اینکار خیلی راحته و من بارها انجامش دادم.
اگه form1 frm=new form هم استفاده کنم و با استفاده از "frm.اطلاعات فرم اولی"،اطلاعات فرم اولی رو آپدیت کنم،بجای اینکه اطلاعات در فرم زیرین بشینه یه فرم اولی جدید باز میشه که اطلاعاتش آپدیت شده
ولی من میخوام اطلاعات بره فرم اولی که هنوز باز هست و در زیر فرم دوم قرار داره،بشینه.
ممنون

mohammad_2039
شنبه 04 اردیبهشت 1389, 09:07 صبح
با سلام
دوست عزیز اگه میخوای اطلاعاتی رو که از طریق فرم دوم در بانک اطلاعاتی آپدیت کردی مثلا در گرید فرم اول نمایش داده بشه باید این کار رو انجام بدی : کدهای مربوط به آپدیت شدن فرم اول رو پس از فرمان Show فرم دوم بنویس اینطوری وقتی فرم دوم بسته شد تازه دستورات بعد از show اجرا میشه. مثل این:



form2 f2=new form2();
f2.showDialog();
sqlcommand cmd=new sqlcommand("select * from tb_user",sqlconnection1);
.....
.....
....



اما اگه میخوای یک مقدار خاص رو بین فرمها رد و بدل کنی باید از متغییر های استاتیک استفاده کنی:لبخند:
موفق باشی

bpzone
شنبه 04 اردیبهشت 1389, 09:22 صبح
با سلام
می تونید کامپوننت های موجود در فرم 2 رو بصورت public تعریف کنید و بهد از کد زیر استفاده کنید .
البته این روش از نظر برنامه نویسی شی گرا ، کار چندان منطقی ای نیست :افسرده:



private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.ShowDialog();
textBox1.Text = frm.textBox1.Text;
comboBox1.Text = frm.comboBox1.Text;
}

exlord
شنبه 04 اردیبهشت 1389, 11:05 صبح
سلام
با زدن یه کلیک در فرم اول، فرم دوم باز میشه و در فرم دوم وقتی یک سری عملیات انجام میشه و دکمه ای زده میشه باید فرم اول (فرم زیرین) هم اطلاعاتش آپدیت بشه
باچه کدی میتونم اطلاعات فرم دومی رو به اولی انتقال بدم عکس اینکار خیلی راحته و من بارها انجامش دادم.
اگه form1 frm=new form هم استفاده کنم و با استفاده از "frm.اطلاعات فرم اولی"،اطلاعات فرم اولی رو آپدیت کنم،بجای اینکه اطلاعات در فرم زیرین بشینه یه فرم اولی جدید باز میشه که اطلاعاتش آپدیت شده
ولی من میخوام اطلاعات بره فرم اولی که هنوز باز هست و در زیر فرم دوم قرار داره،بشینه.
ممنون
تو فرم 1 یه prpperty بساز بعد .... 2 روش هست تا تو فرم 2 یه این property دسترسی داشته باشی ...
1 -
(Application.OpenForms["Form1"] as Form1).MyProperty2 - تو constructor فرم 2 یه reference از فرم 1 بهش پاس بده ...

Form2 frm = new Form2(this);

private Form1 frm;
public Form2(Form1 frm1)
{
this.frm = frm1;
}

Hossenbor
شنبه 04 اردیبهشت 1389, 14:30 عصر
از توابع عمومی استفاده کن یک کلاس جداگانه ایجاد کن تا اطلاعات بین این دو مشترک باشه

group45
شنبه 04 اردیبهشت 1389, 15:14 عصر
سلام
ببین با اینا کارت راه می افته؟
[
CODE]
form1 frm1=new form1();
form2 frm2=new form2();
frm2.dialogshow();

//////in frm2///////
frm1.textbox1.text=textbox1.text;
this.close();
/////out frm2////////
[/CODE]