ببینید شما باید در عمل کار زیر رو انجام بدید
اول باید یه پروپرتی توی فرم یک برای دریافت کد از فرم دو بسازید
بعد باید فرم دو رو به صورت Dialog اجرا کنید و توی رویداد کلیک دکمه جستجو با دستور زیر نمونه موجود از فرم یک رو به دست بیارید
Form1 frm =(Form1)Application.OpenForms["Form1"];
و بعد مقداری رو که کاربر وارد کرده به اون پروپرتی از فرم یک بدید
frm.PersopertyName = textBox1.Text;
وبعد مقدار DialogResult فرم دو رو توی همون رویداد برابر با OK قرار بدید
this.DialogResult = DialogResults.Ok;
با این کار فرم دو بسته میشه و توی رویداد کلیک Button4 تو فرم یک میتونید عمل جستجو رو انجام بدید
کل کد به صورت زیر
تعریف پروپرتی توی فرم یک
string codevalue;
internal string CodeValue
{
set { codevalue = value; }
get { return codevalue; }
}
رویداد کلیک دکمه جستجو در فرم دو
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(textBox1.Text))
this.DialogResult = DialogResult.Cancel;
else
{
Form1 frm = (Form1)Application.OpenForms["Form1"];
frm.CodeValue = textBox1.Text;
this.DialogResult = DialogResult.OK;
}
}
رویداد کلیک دکمه جستجو در فرم یک
private void button4_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
if (frm.DialogResult == DialogResult.OK)
{
//دستورات مربوط به جستجو بر اساس کد
}
else
{
//نمایش پیغام مبنی بر این که جستجو انجام نمیشود به دلیل عدم ورود کد توسط کاربر
}
}