2015-01-14 13 views
-2

В приложении Visual Studio 2008 C# у меня есть элемент управления с помощью кнопки. Я пытаюсь получить событие MouseDown для кнопки (событие определено в классе Control, который наследует Button).
если я пишу это:Событие MouseDown для кнопки

this.button1.MouseDown += 
    new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown); 

компилирует, но даже не поднимается.

То же самое будет работать для самой всей панели

this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Button_MouseDown); 

Почему я не могу получить эту работу событий в производном классе? Есть ли способ заставить его работать?

Это мой метод InitializeComponent():

 private void InitializeComponent() 
    { 
     this.button1 = new System.Windows.Forms.Button(); 
     this.SuspendLayout(); 
     // 
     // button1 
     // 
     this.button1.Location = new System.Drawing.Point(29, 140); 
     this.button1.Name = "button1"; 
     this.button1.Size = new System.Drawing.Size(72, 39); 
     this.button1.TabIndex = 1; 
     this.button1.Text = "button1"; 
     this.button1.MouseDown += new System.Windows.Forms.MouseEventHandler(button1_MouseDown); 
     // 
     // MopilStatsPanel 
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); 
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 
     this.Controls.Add(this.button1); 
     this.Name = "MopilStatsPanel"; 
     this.Size = new System.Drawing.Size(286, 337); 
     this.ResumeLayout(false); 

    } 
+0

Добавить к вопросу. Где вы назначаете обработчики события? – Shaharyar

+1

FYI, 'button1.MouseDown + = Button_MouseDown'. – Will

+0

У вас есть что-то, накладывающееся на эту кнопку, которая может захватить событие? Возможно, другая панель? – BradleyDotNET

ответ

0

Я думаю, что вам, возможно, придется использовать MouseButtonEventHandler вместо того, чтобы просто MouseEventHandler: код, связанный с

this.MouseDown += new MouseButtonEventHandler(this.Button_MouseDown); 
Смежные вопросы