PDA

View Full Version : سوال: سوال در مورد انتقال اطلاعات از یک فرم به فرم دیگر



DumanNazeri
جمعه 09 خرداد 1393, 21:16 عصر
سلام. وقت بخیر و خسته نباشید.
من در یک پروژه‌ی ویندوزفرم که یه بازی ساده هستش اومدم یه WelcomeForm طراحی کردم که در اون یک تکست باکس برای نام کاربر قرار دادم. ( textBox1 )
وقتی کاربر نام مورد نظرش رو وارد کرد و دکمه‌ی اوکی رو زد وارد فرم مربوط به بازی می‌شه.
من با کدهای زیر تونستم کاری بکنم که نامی که کاربر در WelcomeForm وارد کرده به عنوان اسم فرم مربوط به بازی استفاده بشه. (یعنی تایتل فرمی که بازی در اون صفحه هست!)


WelcomeForm wc = new WelcomeForm();
string UserName = wc.textBox1.Text.Trim();
this.Text = "Welcome, " + UserName;


اما چیزی که من می‌خوام اینه که اسمی که در WelcomeForm وارد شده در یک متغیر طوری ذخیره بشه که من از اون اسم بتونم در قسمت‌های دیگه فرم اصلی‌م (نه WelcomeForm) هم استفاده کنم!
مثلن در یک تکست باکس در فرم اصلی..

ممنون می‌شم اگر راهنمایی‌م کنید. چون این موضوع خیلی برام مهمه.

arash69
جمعه 09 خرداد 1393, 21:20 عصر
سلام؛
شما میتونین اون مقدار رو داخل یک متغیر استاتیک درون همون فرم ذخیره کنین تا بتونین داخل بازی با استفاده از اسم فرم ورودی، به اون متغیر دسترسی پیدا کنید.

DumanNazeri
جمعه 09 خرداد 1393, 21:25 عصر
سلام؛
شما میتونین اون مقدار رو داخل یک متغیر استاتیک درون همون فرم ذخیره کنین تا بتونین داخل بازی با استفاده از اسم فرم ورودی، به اون متغیر دسترسی پیدا کنید.

می‌شه بیشتر توضیح بدید؟
یعنی داخل WelcomeForm اسم رو تو یه متغیر استاتیک ذخیره کنم؟
بعد چطوری از اون متغیر که تو WelcomeForm تعریف شده تو اون یکی فرم استفاده کنم؟!

arash69
جمعه 09 خرداد 1393, 21:29 عصر
می‌شه بیشتر توضیح بدید؟
یعنی داخل WelcomeForm اسم رو تو یه متغیر استاتیک ذخیره کنم؟
بعد چطوری از اون متغیر که تو WelcomeForm تعریف شده تو اون یکی فرم استفاده کنم؟!

بله دقیقا"، بعدش داخل فرم دیگه کافیه اینطوری بنویسین:

string username=WelcomeForm.myTemp;

که در واقع myTemp همان متغیر تعریف شده در WelcomeForm می باشد. و این عبارت رو میتونین داخل هر تابعی از پروژه بنویسید.
البته دقت کنید که متغیر استاتیک مورد نظر رو باید خارج از توابع و داخل کلاس WelcomeForm تعریف کنید، اما مقدار دهی آن می تواند داخل تابع انجام گیرد.