C# C Windows窗体删除键没有响应

C# C Windows窗体删除键没有响应,c#,visual-studio,visual-studio-2010,windows-forms-designer,C#,Visual Studio,Visual Studio 2010,Windows Forms Designer,在我的C windows窗体应用程序中,我希望用户能够通过按键盘上的delete键删除节点,并且实现了看似正确的代码,但当按下delete键时,什么也不会发生 private void treeView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys .Delete) { if (treeView1.SelectedNode != nu

在我的C windows窗体应用程序中,我希望用户能够通过按键盘上的delete键删除节点,并且实现了看似正确的代码,但当按下delete键时,什么也不会发生

        private void treeView1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys .Delete)
        {

            if (treeView1.SelectedNode != null)
            {
                treeView1.SelectedNode.Remove();
            }
        }

这是我试图用来实现所需功能的代码。

键盘键代码检查对我来说很好,它告诉我treeView1.SelectedNode可能返回null。

我今天遇到了这个问题,并尝试了许多方法来解决它。MSDN实际上给出了答案。以下是我公开发布的两个代码1

这周我刚学习了C语言,所以我想弄清楚代码的含义。只希望这种方法能为有需要的人奏效


如果有人能解释上面的代码,我将不胜感激。

您是否在处理程序中放置断点以查看该代码是否已执行?我只是尝试了一下,似乎所讨论的代码从未执行过视图可能只是失去焦点,在这种情况下,它将不会接收关键事件。所以,你要么专注于programmaticaly:treeView.focus…,要么改用CoreWindow:Window.Current.CoreWindows.KeyDown+=…为什么不问问你最好的朋友,调试器???
this.KeyPreview = true;
this.KeyDown += new KeyEventHandler(Form1_KeyDown);