سلام دوستان:
چند تا سوال :
1 - من دارم یک برنامه می نویسم که با هر بار کلیک روی یک Button یک دیتاگرید روی فرم ایجاد میکنه و اطلاعات یک تیبل از دیتابیس رو نمایش میده اما حالا می خوام روی هر ردیف از هر کدوم ازاین دیتاگرید هایی که تولید میشن کلیک شد اطلاعات اون ردیف داخل یک سری تکست باکس نمایش داده بشن .
برای این کار از کد زیر استفاده میکنم : (ابتدای کدها یک متغیر از نوع دیتابیس تعریف کردم )
DataGridView dataGridView = new DataGridView();
private void dataGridView_CellClick(object sender, GridViewCellEventArgs e)
{
textBox3.Text = dataGridView.CurrentRow.Cells[2].Value.ToString();
textBox4.Text = dataGridView.CurrentRow.Cells[3].Value.ToString();
textBox5.Text = dataGridView.CurrentRow.Cells[4].Value.ToString();
textBox6.Text = dataGridView.CurrentRow.Cells[5].Value.ToString();
textBox7.Text = dataGridView.CurrentRow.Cells[6].Value.ToString();
textBox8.Text = dataGridView.CurrentRow.Cells[7].Value.ToString();
textBox10.Text = dataGridView.CurrentRow.Cells[9].Value.ToString();
}
و داخل Load فرم هم هنگام ایجاد دیتاگرید ها از این کد استفاده می کنم :
dataGridView.CellClick += new GridViewCellEventHandler(dataGridView_CellClick);
اما این ارور رو میده :
Object reference not set to an instance of an object.
2- سوال دوم اینکه کنترل هایی که زمان اجرا ساخته میشن رو چطور میشه ذخیره کرد که مجبور نباشیم دوباره هنگام لود همشون رو از اول بسازیم؟ مثلا همین برنامه ای که گفتم اگر چند تا دیتاگرید رو کاربر ایجاد کرد باید دوباره هنگام لود فرم همه رو از اول با یک حلقه بسازم و دوباره اطلاعات دیتابیس رو داخل هر کدوم لود کنم. این کار رو درست انجام دادم ولی خوب لود برنامه رو به مرور سنگین میکنه. کسی راه حل بهتری سراغ نداره ؟
3- کد Maximize و Minimize کردن فرم رو میخوام که برای دو تا دکمه قرار بدم و همچنین مخفی کردن تمام دکمه های کنترل باکس طوری که قاب فرم قابل نمایش باشه (البته فرم بدون نوشته هست).
مرسی !