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

نام تاپیک: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

  1. #1

    دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    سلام دوستان
    فرض کنید من 2 تا یوزر کنترل دارم (usercontrol A,usercontrol B)

    یوزر کنترل B شامل یک button هست که میخوام وقتی روش کلیک میکنم خاصیت visibility یوزر کنترل A تغییر پیدا کنه

    اگه ممکنه یه راه پیشنهاد بدید چطوری اینکارو انجام بدم . ممنون

  2. #2

    نقل قول: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    دوستان کسی نمیتونه یه کمکی کنه؟ببینید الان مثلا من یه event توی یوزر کنترل B مینویسم وقتی توی خودش صداش میزنم عمل میکنه ولی وقتی از بیرون (از طریق یه کلاس دیگه یا یوزر کنترل دیگه ) صداش میزنم عمل نمیکنه
    چیکار باید انجام بدم ؟لطفا راهنمایی کنید :(

  3. #3

    نقل قول: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    هر UserControl یک کلاس در #C است. برای پاس کاری اطلاعات بین دو کلاس همانطوری که در WinForm عمل میکنید اینجا هم صادق است.
    یک روش خوب استفاده از Dependecny Injection از نوع Constructor است. معنیش میشود ایمنکه در متد سازنده ی userControl یک آرگومان جدید از نوع مقداری که میخواهید پاسکاری کنید تعریف کنید.

    موقع ساختن UserControl وقتی از new استفاده می کنید مقدار وردی را نیز وارد میکنید.

    myUserControl = new userControl(myArg1);


    این یکی از روشهاست.

    یکی هم اینکه یک کلاس از نوع static تعریف کنید و متغیرهایی درون اون از نوع static تعریف کنید و بعد هر دو usercontrol میتوانند متغیرهای درون این کلاس را بخوانند . (روش استاندارد نیست ، بیشتر دور زدن مسیر است)

    اگر با مدل MVVM آشنا هستید روش کمی فرق میکند. بهتره مشخص تر بگید برای چه کاری نیاز دارید !؟

  4. #4

    نقل قول: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    ممنون از پاسختون دوست عزیز

    یک روش خوب استفاده از Dependecny Injection از نوع Constructor است. معنیش میشود ایمنکه در متد سازنده ی userControl یک آرگومان جدید از نوع مقداری که میخواهید پاسکاری کنید تعریف کنید.

    موقع ساختن UserControl وقتی از new استفاده می کنید مقدار وردی را نیز وارد میکنید.
    ممنون میشم یکم بیشتر توضیح بدید
    بهتره مشخص تر بگید برای چه کاری نیاز دارید !؟
    من برناممو قسمت بندی کردم و هر قسمت رو بصورت یوزر کنترل در اوردم . برای مثال فرم لاگین یا تک تک فرم های برنامه هرکدام یک یوزر کنترل مجزا هستن . این یوزر کنترل ها در عمل بصورت یکپارچه کنار هم میان . برای نظم بیشتر میخواستم یه کلاس واسط تعریف کنم که هرگونه عملیات مدیریت UI برنامه از طریق اون انجام بشه. برای مثال switchview و... .
    مثلا فرض کنید توی یوزر کنترل A یه button هست که با زدن اون مثلا باید رنگ یه grid توی یوزرکنترل B عوض بشه. میخوام همه این کارها از طریق اون کلاس واسط انجام بشه . به نظرتون بهترین راه حل برای این کار چیه؟اگه خواستید بفرمایید بیشتر توضیح میدم

    بازم ممنون از کمکتون . واقعا ممنونم

  5. #5

    نقل قول: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    راستش من قبلا برای اینکار یوزرکنترلم رو به این صورت تعریف میکردم و جواب میداد (توی سیلورلایت 4)
    MyUserControl control { get; set; }

    بعدش هر تغییری که میدادم لحظه ای انجام میشد
    اما الان وقتی اینطوری تعریف میکنم وقتی تغییری میدم کل صفحه سفید میشه!نه فقط صفحه اون یوزرکنترل بلکه تمام کل صفحه سایت!
    کسی میدونه مشکل از چیه و یا چیکار باید انجام بدم؟ :(

    الان یه پروژه لنگ جواب همین سواله . ممنون میشم یه کمکی کنید خدا خیرتون بده
    آخرین ویرایش به وسیله hamidhws : دوشنبه 11 شهریور 1392 در 16:48 عصر

  6. #6

    نقل قول: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    الان از یه روش رفتم ولی ارور میده.
    یه کلاس واسط تعریف کردم این event رو توش نوشتم:
            public Desktop desktop { get; set; }  
    public void switchpage()
    {
    desktop.Opacity = 0.5;
    }

    بعد اومدم توی یوزر کنترل desktop اینو اضاف کردم :
            IRS_UIManagment uimanagment = new IRS_UIManagment();
    public Desktop()
    {
    InitializeComponent();
    uimanagment.desktop = this;
    }

    (IRS_UIManagment همون کلاس واسط هست)
    بعد اومدم توی یوزر کنترل B و رویداد switchpage رو صدا زدم . الان مقدار opacity یوزر کنترل desktop باید تغییر کنه . ولی ارور میده :
    error.jpg

    کسی میدونه مشکل چیه؟یا راه حلی به من بده . ممنون میشم واقعا :(

  7. #7

    نقل قول: دسترسی و تغییر یک usercontrol از طریق یک usercontrol دیگر

    خوشبختانه مشکل حل شد :) کلاس واسط رو از نوع static تعریف کردم مشکل حل شد

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

  1. سوال: تغییر Application Setting از طریق یک برنامه دیگر
    نوشته شده توسط regbyte در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 05 شهریور 1387, 18:42 عصر
  2. دسترسی به اطلاعات یک کلاینت از طریق یک کلاینت دیگه
    نوشته شده توسط مهدی رحیم زاده در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 08 دی 1386, 23:24 عصر
  3. لود یک usercontrol از طریق usercontrol دیگر ؟
    نوشته شده توسط Behsharp در بخش C#‎‎
    پاسخ: 3
    آخرین پست: یک شنبه 01 مهر 1386, 17:22 عصر
  4. دسترسی به فیلد های اکسس از طریق vb
    نوشته شده توسط khomar در بخش برنامه نویسی در 6 VB
    پاسخ: 20
    آخرین پست: دوشنبه 18 اردیبهشت 1385, 23:32 عصر
  5. تغییر یونیکود unicode از طریق php
    نوشته شده توسط ngmajid در بخش PHP
    پاسخ: 6
    آخرین پست: جمعه 23 دی 1384, 09:51 صبح

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

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