PDA

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



mohammad2407
شنبه 28 بهمن 1391, 19:45 عصر
سلام دوستان عزیز خسته نباشید من یک dataGridView دارم میخوام وقتی روی یک رکورد دو بار کلیک میکنم یک فرم جدید باز بشه و اطلاعات به من نشون بده

فقط من این آموزش میخوام که چطوری اطلاعات از dataGridView بفرستم به textbox های فرم باز شده ؟؟؟

امیدوارم منظورمو متوجه شده باشید

sendelbor
شنبه 28 بهمن 1391, 19:58 عصر
اول تکست باکس ها public کن.بعد در رویداد CellContentDoubleClick دیتا گرید فرم جدید فراخوانی کن بعد یکی یکی مقادیر تکس باکس ها با سلول های دیتا گرید ست کن

اینم کد
private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
test ts = new test();
ts.textBox1.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
ts.textBox2.Text = this.dataGridView1.CurrentRow.Cells[1].Value.ToString();
ts.ShowDialog();
}

saber_ershadi
شنبه 28 بهمن 1391, 20:08 عصر
سلام
همونطور که دوست عزیزمون گفت تو فرم مقصد TextBox ها رو Public کن و میتونی با این دستور مقدار رو به فرم بعدی بفرستی :
البته با دکمه

private void button_Click(object sender,EventArgs e)
{
Frm_new fn = new Frm_new();
fn.nametxt.Text = dg1["name", dg1.CurrentRow.Index ].Value.ToString();
fn.ShowDialog();
}

mohammad2407
شنبه 28 بهمن 1391, 20:18 عصر
خب مشکل من هم همین جا هست تمام تکست باکس ها رو modifiers برابر با public قرار دادم و اسم های اون ها هم کاملا عوض کردم ولی وارد فرم های دیگه که میشم فراخوانی نمیشه و نمیاد

sendelbor
شنبه 28 بهمن 1391, 20:23 عصر
یعنی چی؟ خود تکست باکس نمیاد ها
اون کدی که من گذاشتم دقت کن اول فرم تست(فرمی که تکست باکس ها توی اون قرار دارن) فراخوانی کردم بعد قبل تکست باکس ها یه ts اومده.دقت کن.

mohammad2407
شنبه 28 بهمن 1391, 20:31 عصر
کاملا OK شد از همه ممنون

Hybrid
شنبه 28 بهمن 1391, 21:33 عصر
سلام ، راه حل دوستان میتونه جواب این مسئله باشه ولی توصیه میکنم که از اون روش استفاده نکنید ( روش راحتی هست ولی سعی کنید برنامتون بر طبق اصول شی گرایی باشه) ، شما میتونید یک Property تعریف کنید که به راحتی این کار رو واستون انجام بده :


public string FirstName {
set { this.textBox1.Text = value; }
get { return this.textBox1.Text; }
}

حالا میتونید به شکل زیر ازش استفاده کنید :


Form2 frm2 = new Form2();
frm2.FirstName = "This is a test!";
frm2.ShowDialog();

اگه دقت کرده باشید خاصی Modifier برای تمامی کنترل ها به طور پیشفرض برابر Private هست تا برنامه بیشتر به اصول شی گرایی پایبند باشه.

csharpdoost
شنبه 28 بهمن 1391, 22:54 عصر
جالب بود خوشم اومد.