Адключэнне правай кнопкі мышы ў Win формы дадатку

Hii Я раблю прыкладанне Windows Form Я дадаў карыстацкі элемент кіравання ў гэтым дадатку Ці ёсць спосаб, каб адключыць правае падзея пстрычкі. таму што, калі я выкарыстоўваю

Button.click += SomeMethod

Ён збіраецца SomeMethod ў выпадку абодвух (левая і правая) шчоўкае. Я хачу зрабіць гэта дзеянне ў выпадку левай кнопкай мышы толькі.

2

8 адказы

Хіба вы не можаце справіцца, якая кнопка была націснутая ўнутры падзеі?

private void uc_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
         //more logic here
    }
}
3
дададзена

Хіба вы не можаце справіцца, якая кнопка была націснутая ўнутры падзеі?

private void uc_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
         //more logic here
    }
}
3
дададзена

Вы можаце выявіць, якая кнопка мышы была націснутая ўнутры апрацоўшчыка падзей.

Праверце MouseEventArgs е аргумент апрацоўшчыка

1
дададзена

Вы можаце выявіць, якая кнопка мышы была націснутая ўнутры апрацоўшчыка падзей.

Праверце MouseEventArgs е аргумент апрацоўшчыка

1
дададзена

Вы можаце праверыць кнопку і выклікаць роднай OnClick для выпадкаў левай кнопкай мышы.

[Псевдокод]

SomeMethod(e){
  if (e.Button == left){
    control.onClick(e);
  }
}
1
дададзена

Вы можаце праверыць кнопку і выклікаць роднай OnClick для выпадкаў левай кнопкай мышы.

[Псевдокод]

SomeMethod(e){
  if (e.Button == left){
    control.onClick(e);
  }
}
1
дададзена

вы маглі б зрабіць некалькі спосабаў;

1) калі вы хочаце выкарыстоўваць падзея button.click затым зрабіць код ніжэй:

Button.Click += SomeMethod;
private void SomeMethod(object sender, EventArgs e)
{
    System.Windows.Forms.Button bt = sender as System.Windows.Forms.Button;

     if (bt != null)
     {
        if (bt.Equals(System.Windows.Forms.MouseButtons.Left))
        {
               //do something;
         }
     }
}

2) Ці выкарыстоўваць мыш пстрыкнуў падзея ў вокнах ўтвараюць «button.MouseClick».

   Button.MouseClick += SomeMethod;
   private void SomeMethod(object sender, MouseEventArgs e)
   {
        if (!e.Button.Equals(System.Windows.Forms.MouseButtons.Right))
        {
           //do work
        }
   }

Я спадзяваўся, што мы маглі б выкарыстоўваць e.Handled = дакладна, але ў гэтым выпадку ні адзін з аргументаў падзеі мае ўласцівасць Handled, таму вы павінны ўручную праверыць іх.

1
дададзена

вы маглі б зрабіць некалькі спосабаў;

1) калі вы хочаце выкарыстоўваць падзея button.click затым зрабіць код ніжэй:

Button.Click += SomeMethod;
private void SomeMethod(object sender, EventArgs e)
{
    System.Windows.Forms.Button bt = sender as System.Windows.Forms.Button;

     if (bt != null)
     {
        if (bt.Equals(System.Windows.Forms.MouseButtons.Left))
        {
               //do something;
         }
     }
}

2) Ці выкарыстоўваць мыш пстрыкнуў падзея ў вокнах ўтвараюць «button.MouseClick».

   Button.MouseClick += SomeMethod;
   private void SomeMethod(object sender, MouseEventArgs e)
   {
        if (!e.Button.Equals(System.Windows.Forms.MouseButtons.Right))
        {
           //do work
        }
   }

Я спадзяваўся, што мы маглі б выкарыстоўваць e.Handled = дакладна, але ў гэтым выпадку ні адзін з аргументаў падзеі мае ўласцівасць Handled, таму вы павінны ўручную праверыць іх.

1
дададзена