2011-11-03 2 views
2

가 나는 flowLayoutPanel에서 만든 패널을 동적하는 MouseOverMouseLeave 이벤트를 추가 할 OBJECTNAME. MouseEnter &하는 MouseLeave는

나는 "패널"라는 이름의 목록에있는 모든 패널을 추가하고 그들은 "패널 [인덱스]"에 액세스 할 수 있습니다.

는 지금은 각 패널에 MouseOverMouseLeave 이벤트를 추가 동적 싶다. 가 나는 마우스가 이상하다 panelname를 얻을 수 및 각 이벤트에 대해 하나의 방법을 사용하여 마우스가 panelname (panel.Name)로 끝났다 패널을 식별 할 수있을 수 있다고 생각하지만 난 "보낸 사람"에서 아무것도 찾을 수 없습니다.

이 방법이 있습니까?

내 코드 : 나는 당신이 컨트롤에 대한 하나 개의 마우스 오버 이벤트를 생성하는 이벤트 메서드 이름을 복사 한 다음 다른 컨트롤의 마우스 오버 이벤트 상자에 붙여 그

을 따라서 작동합니다 수 있다고 생각

//Method 
private void PanelsMouseEnter(object sender, EventArgs e) 
{ 
    var panel = sender as Control; 
    foreach (Control control in this.fLpKoerper.Controls) 
    { 
     if (control.Name == panel.Name) 
     { 
      foreach (Panel panels in panelsKoerper) 
      { 
       if (panels.Name == panel.Name) 
        panels.BackColor = Color.DarkGray; 
      } 
     } 
    } 
} 

//Event 
panelsKoerper[y].MouseEnter += PanelsMouseEnter; 
+0

일부 샘플 코드는 여기에 도움이 될 것입니다. – rossipedia

+0

여기에 복사 해 보았습니다 ;-) – kryptex

답변

1
var panel = sender as Control; 
var thePanelName = panel.Name; 
+0

정말 감사합니다. – kryptex

0

당신은

private void label1_MouseHover(object sender, EventArgs e) 
{ 
    //Code... 
} 

이 이벤트를 가질 것입니다 그리고 당신은 모든 컨트롤의 마우스 오버 이벤트 'label1_MouseHover'를 넣을 수

+0

고마워요. 이것은 이전에 가지고 있던 또 다른 생각이지만, 패널의 양은 dll의 들쭉날쭉 한 배열에서 나왔기 때문에 런타임에 작성되었습니다. – kryptex