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

نام تاپیک: طراحی کامپوننت

  1. #1

    طراحی کامپوننت

    با سلام من دارم یه سری از کامپوننت ها رو برای خودم سفارشی میکنم که یه سری کارهارو برام انجام بده مثلا کنترل تکست باکس رو میخوام هر زمان که کلید + فشرده شد به کنترل (تکست باکس) بعدی بره، کدش رو اینجوری نوشتم و کار هم میکنه.
    من اومدم زمان ساختن کامپوننت متد KeyDown رو بصورت زیر override کردم اما زمانیکه داخل برنامه اصلی از این کامپوننت استفاده مینکم اگر بخوام هنگام تایپ چک کردن کاری رو انجام بده دیگه متد KeyDown براش کار نمیکنه.
    ممنون میشم راهنمایی کنید.


    protected override void OnKeyDown(KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Add)
    {
    SendKeys.Send("{Tab}");
    e.Handled = true;
    }
    if (e.KeyCode == Keys.Subtract)
    {
    SendKeys.Send("+{Tab}");
    e.Handled = true;
    }
    }


  2. #2

    نقل قول: طراحی کامپوننت

    مشکل حل شد. از تو سایت مایکروسافت پیداش کردم، اینو میذارم شاید بدرد یکی دیگه هم بخوره
    When overriding OnKeyDown in a derived class, be sure to call the base class's OnKeyDown method so that registered delegates receive the event.
    کلا زمانیکه بخوایم چیزی رو override کنیم باید کلاس پایشو هم فراخوانی کنیم وگرنه اون کلاس به اون چیزی که ما override کردیم محدود میشه
    اینو به خط اول کد باید اضافه کرد
    base.OnKeyDown(e);

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

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