PDA

View Full Version : مشکل با بدست آوردن مقدار textbox از فرم دیگر



behzadk
پنج شنبه 22 آذر 1386, 19:47 عصر
با سلام
من می خوام از یه فرم دیگر مقدار textbox را بدست بیا ورم با استفاده از این کد
Form9 f9 = new Form9();

foreach (Control ctr in f9.Controls)
foreach (Control ctr1 in ctr.Controls)
MessageBox.Show(ctr1.Text.ToString ());
اما text تمام object ها رو میاره به جز textboxها
مشکل در کجاست ؟

aida.gh
پنج شنبه 22 آذر 1386, 21:38 عصر
باید اول از توی property text box گزینه modifier اون را public کنی. بعد توی فرمی که میخوای صداش کنی یک متغیر از جنس فرمی که textbox توشه تعریف کنی و به اون متغیر textbox رو صدا بزنی.

class form1

; () form2 f2=new form2

; ( message box.show(f2.textbox.text

behzadk
جمعه 23 آذر 1386, 13:47 عصر
با تشکر از راهنمایی شما
این کار رو من بازم کردم در موقع نوشتن میاره مثلا textbox1 اما موقع اجرا مقدار null میاره
من این کار رو اخرش با فایل انجام دادم
اما این برا من یه سوال شده
علت اینکه مقدار NULL میاره چیه؟

sinpin
جمعه 23 آذر 1386, 14:28 عصر
; () form2 f2=new form2

; ( message box.show(f2.textbox.text

این روش درست نیست چون شما دارید یک آبجکت جدید از form2 میسازید.
به این پست مراجعه کنید :
http://barnamenevis.org/forum/showthread.php?t=84947

sinpin
جمعه 23 آذر 1386, 14:34 عصر
با تشکر از راهنمایی شما
این کار رو من بازم کردم در موقع نوشتن میاره مثلا textbox1 اما موقع اجرا مقدار null میاره
من این کار رو اخرش با فایل انجام دادم
اما این برا من یه سوال شده
علت اینکه مقدار NULL میاره چیه؟

احتمالا شما دارید با یه آبجکت جدید از اون فرم کار میکنید (که تکست باکس اون هنوز مقداردهی نشده) در حالیکه باید یک رفرنس به آدرس همون فرم مورد نظر داشته باشید. یکی از بهترین روشها استفاده از Singleton Pattern است. به پست قبلی مراجعه کنید .