2016-11-17 50 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)。 –