Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在按下键时显示DataGridView的工具提示_C#_.net_Winforms_Datagridview_Tooltip - Fatal编程技术网

C# 在按下键时显示DataGridView的工具提示

C# 在按下键时显示DataGridView的工具提示,c#,.net,winforms,datagridview,tooltip,C#,.net,Winforms,Datagridview,Tooltip,因此,我正在寻找一种在按键时显示帮助的方法。我认为最好的选择是工具提示。但是我如何才能在DataGridView上的KeyDown上立即显示它呢?按下键时,我有工具提示设置。然而,由于某种原因,它没有出现。这是myKeyDown事件中的代码: if (e.Control) { if(tt == null) { tt = new ToolTip(); tt.InitialDelay = 0; tt.Active = true;

因此,我正在寻找一种在按键时显示帮助的方法。我认为最好的选择是
工具提示
。但是我如何才能在
DataGridView
上的
KeyDown
上立即显示它呢?按下
键时,我有
工具提示设置。然而,由于某种原因,它没有出现。这是my
KeyDown
事件中的代码:

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

但是,当我按下Ctrl键时,没有显示任何内容。

您应该将
设置为this.dataGridView1.ShowCellToolTips=false使用设计器或使用代码,然后可以显示手动
工具提示

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

注意:您应该在表单处理时处理
工具提示
,因此最好从表单的工具箱中删除
工具提示
组件并使用它。这样您就不需要自己手动处理它。

您应该设置
This.dataGridView1.ShowCellToolTips=false使用设计器或使用代码,然后可以显示手动
工具提示
。另外,
工具提示
的一个实例就足够了。从窗体上的工具箱中删除工具提示
组件并使用它。您可以将工具提示设置为始终显示。然后您可以使用
KeyUp
隐藏工具提示。现在可以使用了:)谢谢。实际上,我不得不将datagridview从show更改为settooltip。然后在keyup上只做了一个工具提示。removeall()来清除它。顺便说一下,作为另一个选项,您可以使用
Help
class和这样的代码:
if(e.Control)Help.ShowPopup(dataGridView1,“一些帮助”,指向屏幕(dataGridView1.Location))
按此方式,按
Control
键将显示帮助弹出窗口,然后按鼠标或任意键将隐藏帮助弹出窗口。您可能想看看一些主题。