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

نام تاپیک: کنترل رویداد button یک dll در برنامه اصلی

  1. #1

    کنترل رویداد button یک dll در برنامه اصلی

    باسلام.
    بنده با #C یک dll نوشتم که در آن از چند button و textbox استفاده شده.
    چند متغیر عمومی هم ساختم که مقادیر رو در اون می ریزم.
    چطور می شه از رویداد button های درون dll در فرم اصلی استفاده کرد؟
    مثلاً می خوام زمانی که روی button درون dll کلیک می شه بتونم در فرم اصلی استفاده کنم.
    باتشکر.

  2. #2

    نقل قول: کنترل رویداد button یک dll در برنامه اصلی

    یک سوال شما فایلdll که ساختید در فرم ساختید یا در user control اگه در فرم ساختید اسارت نباید اجزا بده به فرم اضافه کنید یعنی شما دارید فرم رو به فرم میدید یعنی قرار دهی فرم روی فرم و دوم اگه از user control استفاده میکنید مطمئن هم باشید خیلی از ویژگی های ابزار شما از کار افتاده و برنامه شما دوچار مشکل زیاد میشه.

  3. #3
    کاربر دائمی آواتار shahryari
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آذربايجان
    سن
    40
    پست
    1,236

    نقل قول: کنترل رویداد button یک dll در برنامه اصلی

    نقل قول نوشته شده توسط davidrobert مشاهده تاپیک
    یک سوال شما فایلdll که ساختید در فرم ساختید یا در user control اگه در فرم ساختید اسارت نباید اجزا بده به فرم اضافه کنید یعنی شما دارید فرم رو به فرم میدید یعنی قرار دهی فرم روی فرم و دوم اگه از user control استفاده میکنید مطمئن هم باشید خیلی از ویژگی های ابزار شما از کار افتاده و برنامه شما دوچار مشکل زیاد میشه.
    منکه اصلا متوجه نشدم .....

    درجواب سوال باید بگم اگه رویدادهای مورد نظرتون رو در دی ال ال پابلیک تعریف کنید ، میتونید در برنامتون اون رویداد ها رو call بکنید

  4. #4

    نقل قول: کنترل رویداد button یک dll در برنامه اصلی

    نقل قول نوشته شده توسط shahryari مشاهده تاپیک
    درجواب سوال باید بگم اگه رویدادهای مورد نظرتون رو در دی ال ال پابلیک تعریف کنید ، میتونید در برنامتون اون رویداد ها رو call بکنید
    در user control ساخته شده. نواع event هم public تعریف شده. اما نی دونم چطوری باید توی فرم تعریف کنم و صداش بزنم.

  5. #5

    نقل قول: کنترل رویداد button یک dll در برنامه اصلی

    اگر رویدادهای لازم رو با سطح دسترسی مناسب در یوزر کنترل تعریف کردید کافیه بعد از اضافه کردن یوزرکنترل به فرم از طریق پنجره Events و یا از طریق کد، رویدادگردان موردنظر رو ایجاد کنید.

  6. #6
    کاربر دائمی آواتار Javad_raouf
    تاریخ عضویت
    آذر 1388
    محل زندگی
    مشهد
    پست
    445

    نقل قول: کنترل رویداد button یک dll در برنامه اصلی

    همونطور که دوستان گفتن اگر خود کنترل Button رو به صورت Public تعریف کنید از طریق کد می تونید به رویداد کلیکش هم دسترسی داشته، به این صورت
            private void Form1_Load(object sender, EventArgs e)
    {
    UserControl1 uc = new UserControl1();
    uc.button1.Click += button1_Click;
    }


    private void button1_Click(object sender, EventArgs e)
    {
    MessageBox.Show("Test");
    }


    اما اگر نمی خوای Modifire کنترل Button رو به حالت Public بزاری می تونی توی UseControl اینجوری بنویسی:
        public partial class UserControl1 : UserControl
    {
    public UserControl1()
    {
    InitializeComponent();
    }
    public event EventHandler Button1Click = null;
    private void UserControl1_Load(object sender, EventArgs e)
    {
    button1.Click += button1_Click;
    }


    void button1_Click(object sender, EventArgs e)
    {
    if (Button1Click != null)
    Button1Click(sender, e);
    }
    }

    این کد در واقع یک Event سفارشی می سازه و شما برای استفاده می تونی اینجوری بنویسی:
            private void Form1_Load(object sender, EventArgs e)
    {
    UserControl1 uc = new UserControl1();
    uc.Button1Click += uc_Button1Click;
    }


    void uc_Button1Click(object sender, EventArgs e)
    {
    MessageBox.Show("Test");
    }

    روش دوم دو تا مزیت داره:
    1. استفاده کننده از یوزر کنترل نمی تونه خصوصیات Button1 رو دستکاری کنه
    2. رویداد Button1Click یک رویداد رسمی برای UserControl1 است و در محیط Designer هم می تونی ازش استفاده کنی یعنی توی لیست رویداد های یوزر کنترلت نشون داده میشه

  7. #7

    نقل قول: کنترل رویداد button یک dll در برنامه اصلی

    ممنون از پاسخ سریعتون.
    به نتیجه رسید.
    با تشکر

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

  1. پاسخ: 6
    آخرین پست: سه شنبه 15 مرداد 1392, 18:14 عصر
  2. ارسال یک مقدار از یوزر کنترل به برنامه اصلی
    نوشته شده توسط hosein320 در بخش VB.NET
    پاسخ: 5
    آخرین پست: جمعه 04 اسفند 1391, 09:11 صبح
  3. پاسخ: 2
    آخرین پست: پنج شنبه 16 اردیبهشت 1389, 17:11 عصر
  4. سوال: کنترل رویداد موس در خارج از فرم برنامه
    نوشته شده توسط hossein_rohollah در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 16 مهر 1387, 04:29 صبح
  5. ارتباط dll و برنامه ی اصلی
    نوشته شده توسط dddelphiii در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: یک شنبه 13 آبان 1386, 16:00 عصر

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

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