PDA

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



Salar Ashgi
شنبه 06 تیر 1388, 20:11 عصر
*** قبل از همه چیز بگم ، مطلب مورد نظر من با جستجو پیدا نشد ***

سلام به همه دوستان عزیز ، من تو برنامم دو تا فرم دارم ، در فرم اول یه Data Grid View

و در فرم دوم یه تکست باکس و Button هستش ! قراره متن این تکست باکس توسط Button

در Data Grid View فرم اول درج بشه ! روشی که من استفاده کردم (هرچند میدونم از لحاظ

اصول OOP درست نیست) این بود که ، سطح دسترسی Data Grid View رو public کردم

و در رویداد کلیک Button فرم 2 کد زیر رو نوشتم :



Form1 frm = new Form1();
frm.dataGridView1.Rows.Add(textBox1.Text);


ولی هیچ چیز در Data Grid View ثبت نمیشه ؟!! ممنون میشم اگه راهنمایی کنید !!!

Mahdi.Kiani
شنبه 06 تیر 1388, 20:24 عصر
سلام دوست عزیز
با اینکه جواب این سوال را بار ها دادم.نمونه مثال هم گذاشتم ...
توی فرم دومتون رویداد تعریف کنید و و در فرم آن را هندل کنید. زمین که دکمه موجود بر روی فرم 2 را کلیک می کنید، رویداد مذکور را فراخوانی کنید و مقادیر موجود در تکست باکس ها را به آن پاس دهید. سپس این مقادیر را در فرم 1 و محل هندل رویداد مذکور دریافت کنید و به گرید اضافه کنید./
موفق باشید

Salar Ashgi
شنبه 06 تیر 1388, 21:58 عصر
سلام دوست عزیز
با اینکه جواب این سوال را بار ها دادم.نمونه مثال هم گذاشتم ...
توی فرم دومتون رویداد تعریف کنید و و در فرم آن را هندل کنید. زمین که دکمه موجود بر روی فرم 2 را کلیک می کنید، رویداد مذکور را فراخوانی کنید و مقادیر موجود در تکست باکس ها را به آن پاس دهید. سپس این مقادیر را در فرم 1 و محل هندل رویداد مذکور دریافت کنید و به گرید اضافه کنید./
موفق باشید

ممنون از راهنمایی شما ، اگه زحمتی نیست واسه این مورد یه نمونه کدی ارائه بفرمائید !!!

خیلی ممنون از لطف شما !!!

Salar Ashgi
یک شنبه 07 تیر 1388, 22:59 عصر
دوستان منتظر راهنمایی شما عزیزان هستم !!! (هرچه سریعتر باشه ، ممنون میشم)

mahdi_7610
دوشنبه 08 تیر 1388, 08:53 صبح
سلام

این سوال را من یکبار پرسیده بودم ولی به جواب نرسیدم .

فکر کنم منظور مهدی کیانی تاپیک زیر باشه . به جواب رسیدی ما را هم خبر کن

http://barnamenevis.org/forum/showthread.php?t=91138

مخصوصا این پست

http://barnamenevis.org/forum/showpost.php?p=446809&postcount=28

موفق باشی

Sajjad.Aghapour
دوشنبه 08 تیر 1388, 09:40 صبح
کدهای فرم اول


private void button1_Click(object sender, EventArgs e)
{
using (Form2 frm = new Form2())
{
if (frm.ShowDialog() == DialogResult.OK)
{
dataGridView1.Rows.Add(frm.RowCells);
}
}
}


کدهای فرم دوم


object[] para;
public object[] RowCells
{
get { return para; }
}

private void button1_Click(object sender, EventArgs e)
{
para = new object[] { textBox1.Text, textBox2.Text };
}

sadeghgilanisadegh
دوشنبه 08 تیر 1388, 12:23 عصر
(Property dataGridView1=Public ) دیتا گریدی که می خواهی به آن دسترسی داشته باشی را به Public تغیر بده مشکلت حل میشه


private void btn_Log_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Show();
//In First must Property dataGridView1==Pulice

frm.dataGridView1.Rows[0].Cells[0].Value = "qqqqqqqqqq";
frm.dataGridView1.Rows[0].Cells[1].Value = "xxxxxxxxxx";
}

این هم یه نمونه برنامه

Sajjad.Aghapour
دوشنبه 08 تیر 1388, 12:52 عصر
دیتا گریدی که می خواهی به آن دسترسی داشته باشی را به Public تغیر بده مشکلت حل میشه

نه عزیز.این روش اشتباهه....
قبلا در این مورد بحث شده....
...