عذر میخوام اینترنت قطع شد.
به احتمال زیاد شمااین کد رو:
v.comboBox2.SelectedIndex = v.comboBox2.Items.IndexOf(dataGridView1.CurrentRow.Cells[2].Value.ToString());
قبل از ShowDialog مینویسید.
رویداد load زمانی اجرا میشه که از ShowDialog یا Show استفاده کنید.
Form2 v = new Form2();
// اینجا کمبو باکس خالیه
v.comboBox2.SelectedIndex = v.comboBox2.Items.IndexOf(dataGridView1.CurrentRow.Cells[2].Value.ToString());
// رویداد لود اینجا اجرا میشه و کمبو باکس پر میشه
v.ShowDialog();
شما میتونید کمبو باکس رو در سازنده پر کنید:
public Form2()
{
InitializeComponent();
// اینجا کبوباکسها رو پر کنید
}
به اینصورت میشه:
// کمبوباکس پر میشه در سازنده
Form2 v = new Form2();
// اینجا دیگه کمبو باکس پره و شما میتونید به ایندکس دسترسی داشته باشید
v.comboBox2.SelectedIndex = v.comboBox2.Items.IndexOf(dataGridView1.CurrentRow.Cells[2].Value.ToString());
// فرم نمایش داده میشه و ایندکس کمبو باکس هم تنظیم است
v.ShowDialog();
روش دیگه هم اینکه میتونید از متغیر سراسری استفاده کنید.
کمبو باکس من تو فرم دو هست.
public string strValue = ""; // متغیر سراسری
private void Form2_Load(object sender, EventArgs e)
{
// اول کمبو باکس رو اینجا پر میکنید
comboBox2.SelectedIndex = comboBox2.Items.IndexOf(strValue);
}
بعد کدی که میخواید فرم رو صدا کنید به این صورت تغییر میدید:
Form2 v = new Form2();
v.strValue = dataGridView1.CurrentRow.Cells[2].Value.ToString();
v.ShowDialog();
توسط
امیدوار
(2,595 امتیاز)
●5 ●15 ●90