2016-11-17 44 views
1

所以我正在尋找一種方法來顯示一些幫助,當按下一個鍵。我在想最好的選擇是ToolTip。但是我怎樣才能得到它,所以它立即顯示在KeyDownDataGridView?當按下KeyDown時,我有ToolTip設置。但是由於某種原因,它並沒有顯示出來。這是我KeyDown事件中的代碼:在KeyDown上顯示DataGridView的工具提示

if (e.Control) 
{ 
    if(tt == null) 
    { 
     tt = new ToolTip(); 
     tt.InitialDelay = 0; 
     tt.Active = true; 
     tt.Show("Help Test", dataGridView1.FindForm()); 
    }   
} 

然而,當我按下Ctrl鍵沒有顯示。

+0

您應該使用設計器或使用代碼來設置'this.dataGridView1.ShowCellToolTips = false;',然後您可以顯示手動'ToolTip'。 另外一個'ToolTip'實例就足夠了。在工具箱中放置一個ToolTip組件並使用它。 –

回答

1

您應該使用設計器或使用代碼設置this.dataGridView1.ShowCellToolTips = false;,然後您可以顯示手冊ToolTip

private void dataGridView1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if(e.Control) 
     toolTip1.Show("Some help", this.dataGridView1); 
} 

注:你應該配置一個ToolTip時的形式處置,所以最好對形式從工具箱中拖放ToolTip組件,並使用它。這樣你就不需要自己手動處理它。

+0

您可以將工具提示設置爲始終顯示。然後你可以使用'KeyUp'來隱藏工具提示。 –

+0

現在工作:)謝謝。我實際上不得不將它從showgridview更改爲settooltip。然後在keyup上做了一個tooltip.removeall()來清除它。 – lesyriad

+0

順便說一下,作爲另一種選擇,您可以使用'Help'類和這樣的代碼:'if(e.Control)Help.ShowPopup(dataGridView1,「一些幫助」,PointToScreen(dataGridView1.Location));'這種方式通過按下Control鍵,會彈出一個幫助窗口,然後按鼠標或任意鍵隱藏幫助窗口。你可能想看看一些主題[這裏](https://stackoverflow.com/documentation/winforms/3285/help-integration)。 –