من در فرم 1 مقداري در جعبه متن وارد كردم مي خواستم ميشه در فرم2 از مقدار جعبه متن فرم 1 استفاده كرد يا نه
من در فرم 1 مقداري در جعبه متن وارد كردم مي خواستم ميشه در فرم2 از مقدار جعبه متن فرم 1 استفاده كرد يا نه
بله میشه و حداقل از دو طریق میتونین این کار رو انجام بدین:
1- برای فرم2 یک constructor بسازین که یک متغیر string میگیره و وقتی میخواستین فرم2 رو باز کنین با این constructor اونو show کنین.
2 - TextBox رو در فرم1 public کنین اینطوری در فرمهای دیگه هم بهش دسترسی دارین که اصصصصصصصصصصصلا راه خوبی نیست.
من راه اول رو پیشنهاد میکنم.
می شه درباره constructor برای فرم بیشتر توضیح بدین ؟
لطفا ميشه درباره constructor توضيح بيشتري بديد؟؟؟؟
سلام
اگه تازه واردی که همون خودت محتویاتش رو دستی بفرست به فرم 2 چون این constructor که دوستمون گفت یکم گیج کنندست
آخرین ویرایش به وسیله x_epro_x : دوشنبه 23 آبان 1390 در 15:39 عصر دلیل: با دلفی اشتبا گرفتم شرمنده
هر فرم یک constructor داره که هم نام فرم هست و در اون تابع Initializecomponent(0 رو داریم که وظیفه شکل دهی فرم و کنترلهای اون و تخصیص prperty ها رو دارهودر حالت پیش فرض این constructor هیچ پارامتر ورودی نمیگیره ولی شما بسته به نیازت میتونی constructor خودت رو تعریف کنی.یعنی برای حل مشکل شما:
در فرم 1 میخوایم فرم 2 رو صدا بزنیم:
Form 2 f2 = new Form2(textbox1.Text);
f2.Showdialog();
و در فرم 2 ابتدا construcor موردنظرمون رو تعریف میکنیم:
Public Form2(string val)
{Initializecomponent();
txtval = val;
}
که txtval یک متغیر عمومی از نوع string هست که در فرم 2 تعریف کردیم. حالا تو فرم2 هر جا میخوای به مقدار اون textbox تو فرم1 دسترسی داشته باشی،میتونی از این txtval استفاده کنی.
مشکلی بود بگین تا با هم حلش کنیم.
ایول خوب گفتی فقط یه چیزی
تو کدی که دادی حرفی از const نیست بهتره اینجوری بگیم که تو فرم 1 یک شی از کلاس فرم 2 تعریف میکنیم بعدش تو فرم 2 هم متغیری رو به صورت عمومی تعریف میکنیم و بعدش میفرستیم واسه فرم 2 در واقع یک پارامتر واسه فرم 2 میسازیم
شاید بهت کمک کنه
https://barnamenevis.org/showthread.p...رم-1-به-2
textbox1.text(Application.OpenForms["Form2"].Controls["Textbox1"] as TextBox).text();
کدتون خطا داره! این کد رو کجا باید نوشت ؟
تو فرم 1
textBox1.Text = (Application.OpenForms["Form2"].Controls["Textbox1"] as TextBox).Text;