2017-12-05 7 views
1
List<Button> buttonlist = new List<Button>(); 
for(int i = 0; i< 5;i++){ 
Button but = new Button(); 
but.Name = Convert.ToString(i); 
but.Location = new Point(50 + i * 20, 50); 
but.Size = new Size(20,20); 
buttonlist.Add(but); 
but.Click += delegate { 
//It's a Leftclick 
//Code do stuff 
} 
this.Controls.Add(but); 
} 

のボタンを作成しましたそれをクリックして、それはいくつかのものを行います。現時点では、右クリックしても何も起こりません。 各ボタンに「右クリック」イベントを追加する方法がわかりません。私はそれを右クリックすると、すべて同じことをする必要があります。ダイナミックに右クリックイベントを追加しますが、私は左目を作るとき、私はdynamiclyいくつかのボタンを作成し、私は、Visual StudioでのC#で2017 を少しパズルゲームを作ってるんだ現時点でのC#

誰かにこれに対する解決策を教えてください。あなたは間違ってクリックイベントハンドラを使用しているためです

おかげ

答えて

2

MouseClickは使用しないでください。右クリックは許可されません。

using System; 
using System.Collections.Generic; 
using System.Drawing; 
using System.Windows.Forms; 

namespace Anything 
{ 
    public class Program 
    { 
     public static void Main(string[] _) 
     { 
      var form = new Form(); 
      List<Button> buttonlist = new List<Button>(); 
      for (int i = 0; i < 5; i++) 
      { 
       Button but = new Button(); 
       but.Name = Convert.ToString(i); 
       but.Location = new Point(50 + i * 20, 50); 
       but.Size = new Size(20, 20); 
       buttonlist.Add(but); 
       but.MouseUp += (s, args) => 
       { 
        if (args.Button == MouseButtons.Right) 
        { 
         // do your thing 
        } 
       }; 
       form.Controls.Add(but); 
      } 

      form.ShowDialog(); 

      Console.ReadKey(); 
     } 
    } 
} 
+0

明らかに、他の主張をしている正式な文書にもかかわらず、あなたは正しいです。 ClickイベントとMouseClickイベントは、ボタンを右クリックしても起動しないようです。 +1。 –

関連する問題

 関連する問題