2010-06-20 153 views
0

我正在使用Windows窗體。我在處理鼠標事件時遇到問題。在我的應用程序頂部有菜單欄。在菜單欄中,我有幾個工具欄菜單項。我希望在tooltripmenu項目突出顯示時,它會在標籤中顯示一些說明。我完全困惑。我用什麼事件來處理這個問題。我用鼠標輸入,鼠標移動&鼠標離開事件,但當鼠標進入任何菜單項的區域時,它沒問題。當鼠標進入或鼠標在物品上移動時,標籤顯示一些說明。但是當我將鼠標移動到其他形式的區域上時。標籤保留顯示有關項目的說明。我希望當鼠標離開tooltripmenu項目的區域時,標籤變爲空白。幫我解決這個問題處理鼠標事件


我把它用於toolstripmenuitem。鼠標輸入&鼠標移動事件工作正常,但鼠標離開事件的主要問題。當我將鼠標移動到「打開」選項時,它會在標籤中顯示說明,但是當我的鼠標離開此選項或保留此選項的可見部分時。標籤說明相同。事實上,鼠標離開事件在離開「打開」選項後當任何其他控件處於焦點時觸發。例如,我在菜單欄中有菜單欄&我有幾個選項。例如第一個選項是「打開」&我希望當鼠標進入「打開」選項的可見部分時,它顯示狀態欄中的描述標籤「打開文件」&當我的鼠標離開「打開」選項的可見部分時,statusbarlabel去空白,但問題是,當鼠標離開事件觸發時,我無法正確理解。感謝您回答這個問題。


這是我的代碼。看看&告訴我最新的問題?

private void openToolStripMenuItem_MouseEnter(object sender, EventArgs e) 
{ 
     label1.Text = "Open files"; 

} 


private void openToolStripMenuItem_MouseLeave(object sender, EventArgs e) 
{ 
     label1.Text = ""; 

} 

回答

1

在menuStrip中使用MouseLeave事件並將標籤文本設置爲「」。
或在您的形式使用相同的鼠標事件,並設置標籤文本「」 .. 我的意思是:

private void Form1_MouseMove(object sender, MouseEventArgs e) 
     { 
      label1.Text = ""; 
     } 

,如果你想顯示文本時鼠標上,你可以使用此解決方案表格。

0

使用MouseLeave事件。以與MouseOver相同的方式,當您捕獲菜單項的MouseLeave時,將標籤的文本屬性更改爲「」(即空白)