مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

jaafar

عضویت از 1393/06/25

انتقال داده

  • دوشنبه 6 آبان 1398
  • 16:07
تشکر میکنم

می خواهم مقادیر را بین دو فرم (c #) منتقل کنم. من این رو چطور میتونم انجام بدم؟

من دو شکل دارم: Form1 و Form2.

فرم1 شامل یک دکمه است. هنگامی که من بر روی آن دکمه کلیک می کنم ، Form2 باید باز شود و Form1 باید در حالت غیرفعال باشد (یعنی قابل انتخاب نیست).

Form2 شامل یک جعبه متن و یک دکمه ارسال است. وقتی هر پیام را در جعبه متن Form2 تایپ می کنم و روی دکمه ارسال کلیک می کنم ، فرم2 باید بسته شود و فرم1 باید با مقدار ارسال شده برجسته شود.

من این رو چطور میتونم انجام بدم؟ آیا کسی می تواند به من کمک کند با یک مثال ساده این کار را انجام دهم.

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

jsmlz

عضویت از 1397/12/16

  • یکشنبه 29 دی 1398
  • 18:33

سلام دوست عزیز 

شما وقتی میخواید فرم ۲ رو از فرم ۱ باز کنید بدین صورت عمل کنید 

Form2 frm = new Form2(this);
frm.show();
​سازنده فرم ۲ خودتون رو هم به این صورت ویرایش کنید
Form1 form1
public Form2(Form1 frm1)
  {
         InitializeComponent();
         form1 = frm1;
  }
 و حالا تو ایونت باتن ارسال مسیج بدین صورت کد بنویسید:
​frm1.LBL_BARCHASB = this.textbox1.Text;
​نکته اساسی اینجاست که این LBL_BARCHASB رو تو فرم ۱ خودتون بسازید . برای ساختنش بدین صورت عمل کنید 
​public Label LBL_BARCHASB
   {
        get{ return yourFavLabel.Text; }
        set{ yourFavLabel.Text = Value; } 
}
 از اون جایی که شما توضیح ندادین روی چه کنترلی تو فرم یک میخواید برچسب بخوره من یک لیبل رو که بصورت پیشفرض دارای سطح دسترسی پرایویت هستش در نظر میگیرم .
استفاده از این روش دیگه نیازی نیست سطح دسترسی لیبل خودتون رو تغییری بدین .
میتونید با کمی دستکاری همین کدها استایل و حتی رویداد کلیک و ... رو از فرم ۲ خودتون برای فرم ۱ تغییر بدین . 
موفق باشید 

 


 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)