2012-12-28 5 views
1

오늘 내 문제가 드러납니다. 마우스를 가져 가면 MenuStrip 또는 ToolStripMenuItem의 선택된 항목 인 현재 이름을 보여주는 statusStripLabel을 만들었습니다. 나는이 코드를 가지고있다 : (작동 중)StatusBar MenuStripItem 마우스 선택

private void ouvrirToolStripMenuItem1_MouseHover(object sender, EventArgs e) 
{ 
    ToolStripMenuItem houver = (ToolStripMenuItem)sender; 
    MenuStatusLabel.Text = houver.Text; 
} 

그러나 나는 모든 toolstripmenu와 하나만 만들려한다. (그런 기능 또는 무언가)

+1

의 코드를 수정 http://www.codeproject.com/Tips/254525/Automatically- 표시 - Menu-on-Hover – Karthik

+1

http://stackoverflow.com/questions/1919907/set-statusbar-text-on-mouse-hover-works-for-controls-but-not-menuitems – Karthik

+0

나는 두 가지 모두를 읽고있다. 그들 그러나 나는 이해하지 않는다! – ShadoWalker

답변

1

문제와 좋은 해결책에서이 맞는, 내가이 Link

private void Form1_Load(object sender, EventArgs e) 
     { 
      toolStripStatusLabel1.Text = "Ready..."; 
      foreach (ToolStripMenuItem item in menuStrip1.Items) 
      { 
       TraverseMenuItemHint(item); 
      } 
     } 

     private void MenuHint_Hint(object sender, EventArgs e) 
     { 
      toolStripStatusLabel1.Text = (sender as ToolStripMenuItem).Text; 
     } 

     private void TraverseMenuItemHint(ToolStripMenuItem element) 
     { 
      for (int i = 0; i < element.DropDownItems.Count; i++) 
      { 
       if (!(element.DropDownItems[i] is ToolStripSeparator)) 
       { 
        ToolStripMenuItem item = element.DropDownItems[i] as ToolStripMenuItem; 
        if (item.Text.Length > 0) 
         item.MouseEnter += MenuHint_Hint; 
        TraverseMenuItemHint(item); 
       } 
      } 
     } 

     private void fileToolStripMenuItem_DropDownClosed(object sender, EventArgs e) 
     { 
      toolStripStatusLabel1.Text = "Ready..."; 
    } 
+0

예 작품입니다! 귀하의 답변에 감사드립니다. – ShadoWalker

관련 문제