سلام، خسته نباشيد
فرض كنيد من تكس باكسي رو در فرم 2 دارم و مقداري رو وارد مي كنم ، مي خوام با بستن اين فرم مقدار داخل اين تكس باكس به تكس باكس فرم 1 منتقل شود.
لطفا منو راهنمايي كنيد.
سلام، خسته نباشيد
فرض كنيد من تكس باكسي رو در فرم 2 دارم و مقداري رو وارد مي كنم ، مي خوام با بستن اين فرم مقدار داخل اين تكس باكس به تكس باكس فرم 1 منتقل شود.
لطفا منو راهنمايي كنيد.
گذشته از روش های ابتکاری ، باید دنبال کلمه Delegate داخل همین سایت بگردید .
تو رویداد Leave یا Deactivate فرم 2 کد زیر رو بنویس.
Form1 frm =new Form1();
frm.textbox1.Text=this.textbox.Text;
frm.show();
البته واسه این که تکست باکس فرم یک قابل دسترسی باشه ، خاصیت Modifier اونرو Public بکن.
به فرم اول و دوم هر کدوم یک textbox و یک باتن اختصاص بده .
به باتن فرم اول کدهای زیر را اختصاص بده
Form2 frm = new Form2();
frm.ShowDialog();
txtform1.Text = frm.str;
حالا به باتن فرم دوم هم کدهای زیر را اختصاص بده.
this.Close();
str = txtform2.Text;
قبلش هم باید str را تعریف کرده باشی
public string str;
موفق باشی :)
این سوال تا به حال میلیارد ها بار در سایت مطرح شده و جواب های درست، صحیح و قشنگی هم بهش داده شده؛ نمی دونم چرا بدون سرچ میاین و بی خودی تاپیک می زنین. کافیه همین ارتباط بین فرم ها رو سرچ کنید...
لکن در همین حد بگم که اولا این مسئله هیچ ارتباطی با Delegate نداره.
ثانیا تغییر Modifier، امری کاملا اشتباه و 100 مخالف اصول کد نویسی شئ گراست و بدترین روش و غیر اصولی ترین راه حل برای فرستادن یه مقدار از یه فرم به یه فرم دیگس.
ثالثا خلاصه ی جواب اینه که باید مقدار مورد نظر رو به صورت پارامتر، به تابع سازنده ی فرم مد نظر فرستاد.
برای توضیحات بیشتر سرچ کنید چرا که مفصلا راجع به این موضوع، بار ها و بار ها صحبت شده.
سلام دوست عزیز به این نگاه کن(اون زمانی که من خوندمش متحول شدم امیدوارم بدرد شما هم بخوره):
موفق باشی