2014-04-30 8 views
0
private void panelControl1_MouseEnter(object sender, EventArgs e) 
{ 
     button2.Show(); 
} 

private void panelControl1_MouseLeave(object sender, EventArgs e) 
{ 
     button2.Hide(); 
} 
отвечая

enter image description hereсобытие мыши, чтобы скрыть и показать кнопка делает кнопку Убрать

Когда я вхожу панель, кнопка отображается, но нажав на кнопку не работает. Над изображением и кодом.

+0

Показать кнопку «событие». –

+0

У вас есть обработчик события button2_Click? Что делать? – barrick

+0

Как вы говорите, что кнопка не работает? – Sivaraman

ответ

0

Существует обходной путь для этой проблемы. Вы можете создать свой собственный класс CustomPanel. После добавления этого класса вы можете заменить Panel на номер Designer.cs с помощью CustomPanel.

namespace System.Windows.Forms 
{ 
    public class CustomPanel : Panel 
    { 
     protected override void OnMouseLeave(EventArgs e) 
     { 
      if (this.ClientRectangle.Contains(this.PointToClient(Control.MousePosition))) 
       return; 
      else 
      { 
       base.OnMouseLeave(e); 
      } 
     } 
    } 
} 

CustomPanel класс ограничивает недопустимый обжиг MouseLeave случае, когда пользователь парить любой дочерний элемент управления с панели.

0

MouseEnter возникает, когда мышь входит в «видимую» часть элемента управления, а MouseLeave возникает, когда мышь покидает «видимую» часть элемента управления. над кнопкой не является видимой частью панели управления.

Смежные вопросы