نمایش نتایج 1 تا 4 از 4

نام تاپیک: اعمال تغییرات از فرم فرزند به فرم والد یا تمام فرم های باز[#C]

  1. #1

    Question اعمال تغییرات از فرم فرزند به فرم والد یا تمام فرم های باز[#C]

    سلام
    چطوری می تونم مشخصات فرم والد رو از فرم فرزند تغییر بدم؟

    برای مثال با یه تکست باکس، عنوان فرم والد رو تغییر بدم

    اینکار از طریق فرم والد به راحتی صورت می گیره اما از طریق فرم فرزند نمیدونم چطوریه؟

    لطفا راهنمایی نمایید- با تشکر
    آخرین ویرایش به وسیله mohammadsadegh996 : جمعه 05 شهریور 1395 در 21:06 عصر

  2. #2
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: اعمال تغییرات از فرم فرزند به فرم والد یا تمام فرم های باز[#C]

    سلام دوست من این کدی که برات نوشتم میتونی بهینه تر کنیش حالا چون من فقط میخواستم بهت نشون بدم که اصل کار به چه شکل هست اینطور نوشتم

    توی کلاس فرم فرزند این کد رو مینویسی

    public Form1 _TxtForm1;
    public Form2(Form1 TXTForm1) : this()
    {
    this._TxtForm1 = TXTForm1;
    }


    توی کنترل button که داخل فرم فرزند ایجاد کردی این کد رو بنویس


    _TxtForm1.text=Textbox1.text;

    و در آخر هم داخل کنترلی که فرم فرزند رو صدا میزنی این کد رو بنویس


    Form2 frm2=new Form2(this);
    frm2.Show();


    پیروز و موفق باشید

  3. #3

    نقل قول: اعمال تغییرات از فرم فرزند به فرم والد یا تمام فرم های باز[#C]

    اون دوتا _TXTForm1 و TXTForm1 واسه چی هستن؟ میشه بیشتر توضیح بدین
    برای تغییر opacity فرم والد از فرم فرزند چکار کنم؟

    اصلا اگه بخوام از فرم 3 که توسط فرم 2 باز شده تغییرات رو روی فرم 1(فرم اصلی) اعمال کنم، انوقت چکار کنم؟

    خیلی واسم مهمه لطفا راهنمایی کنید - با تشکر فراوان

  4. #4
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: اعمال تغییرات از فرم فرزند به فرم والد یا تمام فرم های باز[#C]

    نقل قول نوشته شده توسط mohammadsadegh996 مشاهده تاپیک
    اون دوتا _TXTForm1 و TXTForm1 واسه چی هستن؟ میشه بیشتر توضیح بدین
    برای تغییر opacity فرم والد از فرم فرزند چکار کنم؟

    اصلا اگه بخوام از فرم 3 که توسط فرم 2 باز شده تغییرات رو روی فرم 1(فرم اصلی) اعمال کنم، انوقت چکار کنم؟

    خیلی واسم مهمه لطفا راهنمایی کنید - با تشکر فراوان

    مجددا سلام دوست من ، در خصوص سوال اولتون باید عرض کنم من برای اینکه بتونم پارامتری که برای Constractor مربوط به Form2 ایجاد کرده بودم ( که همون TXTForm1 از نوع Form1 بود ) مقدار دهی کنم متغییری از جنس همون Form1 ایجاد کردم به نام TXTForm1_ که اون رو برابر همون TXTForm1 قرار دادم که اگه توی هرجای فرم2 خواستم پارامتر Form2 رو (TXTForm1) مقدار دهی کنم راحت متغییر TXTForm1_ مقدار دهی کنم و از طرفی هم چون برابر TXTForm1 قرارش دادم پس مستقیما جزو پارامتری که برای Form2 قرار داده بودم هم محسوب میشه (اون کلمه کلیدی this هم اگه برات سوال شده درواقع اشاره داره به فرم جاری مون که اینجا همون Form2 هست) به ویژگی TXTForm1_ زمانی پی میبرید که داخل همون فرم2 یا همون فرم فرزند توی button این دستور رو مینویسید

    _TXTForm1.text=textbox1.text;

    اینجا ما هر مقداری رو که داخل textbox بنویسیم داخل TXTForm1_ پاس داده میشه و وقتی TXTForm1_ مقدار دهی بشه در واقع TXTForm1 مقدار دهی شده پس ما به این صورت مقدار text مربوط به فرم والد رو تغییر دادیم حالا نکته بعدی که مطرح میشه اینه وقتی شما در فرم والد فرم فرزند رو new میکنید چون ما براش Constractor یا همون تابع سازنده ایجاد کردیم که دارای پارامتر بود ( که تعریفش رو عرض کردم به چه شکل بود ) باید پارامتری از نوع Form بهش بدیم که چون این دستور داخل همون فرم والد تعریف شده من پارامتر this رو که همون به معنی فرم جاری هست رو بهش پاس دادم میتونستی هم بنویسی Form1 مشکلی پیش نمیومد . در خصوص سوال دومتون : دوست من شما وقتی TXTForm1_ مینویسی بعدش نقطه رو میزنی به کلیه خصویات فرم والد دسترسی داری حالا چه میخواد opacity باشه چه Backcolor و چه Text و .. و .. و ..

    _TXTForm1.Opacity = .50;



    و در خصوص سوال آخرتون هم باید اینطور عرض کنم شما فرض کنید سه تا Form دارید 1 و 2 و3 که Form1 والد و بقیه فرم ها فرزند اون . حالا ما میخوایم توی فرم 3 مشخصات فرم والد رو تغییر بدیم به عنوان مثال همین Opacity بدین صورت عمل میکنیم اول در کلاس Form2 یک پراپرتی تعریف میکنیم بدین صورت

    public Form1 MainForm { get; set; }

    حالا Constractor پیش فرض اون که داخلش دستور initialize Component هست رو بدین شکل تغییر بدید

    public Form2(Form1 mainForm)
    {
    InitializeComponent();
    MainForm = mainForm;
    }




    داخل کنترلی که فرم 3 رو فراخوانی میکنید اینطور بنویسید

    new Form3(MainForm).Show();

    حالا داخل فرم 3 بشید و مانند فرم 2 عمل کنید یعنی اول یک پراپرتی در کلاس فرم 3

    public Form1 MainForm { get; set; }

    بعد تبدیل Constractor پیش فرض

    public Form3(Form1 mainForm)
    {
    InitializeComponent();
    MainForm = mainForm;
    }






    و درآخر یک button ایجاد کنید و داخش اینو بنویسید

    MainForm.Opacity = .25;

    امیدوارم همیشه پیروز و موفق باشید .

تاپیک های مشابه

  1. حرفه ای: اعمال تغییرات از داخل فرم روی فایل word
    نوشته شده توسط cerezaei65 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 20 شهریور 1391, 11:08 صبح
  2. سوال: اعمال تغییرات از یک برنامه به برنامه دیگر
    نوشته شده توسط koorosh-soft در بخش VB.NET
    پاسخ: 6
    آخرین پست: یک شنبه 14 خرداد 1391, 00:49 صبح
  3. سوال: مشکل در استفاده از فرم های والد و فرزند
    نوشته شده توسط barnamenewis در بخش C#‎‎
    پاسخ: 4
    آخرین پست: جمعه 22 اردیبهشت 1391, 13:54 عصر
  4. حرفه ای: Preview گرفتن از فرم های باز همانند ویندوز ویستا در XP
    نوشته شده توسط ostovarit در بخش C#‎‎
    پاسخ: 5
    آخرین پست: سه شنبه 08 تیر 1389, 12:07 عصر
  5. اعمال تغییرات از فرم دو به فرم یک
    نوشته شده توسط hhiliahh در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 31 تیر 1386, 01:50 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •