Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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#:如何向特定控件发送密钥?_C#_Sendkeys - Fatal编程技术网

C#:如何向特定控件发送密钥?

C#:如何向特定控件发送密钥?,c#,sendkeys,C#,Sendkeys,我正在使用{DELETE}助记符,但在某些情况下,我希望执行默认的删除操作。我想我可以通过SendKeys.Send(target,keys)这样的方式来实现这一点,但我找不到这样的选项 特别是如果文本框有焦点,我希望进行默认处理(否则我希望进行自定义处理) 以下是我正在努力解决的代码: private void _menuEditDelete_Click(object sender, EventArgs e) { if (_treeDocumentOutline

我正在使用{DELETE}助记符,但在某些情况下,我希望执行默认的删除操作。我想我可以通过SendKeys.Send(target,keys)这样的方式来实现这一点,但我找不到这样的选项

特别是如果文本框有焦点,我希望进行默认处理(否则我希望进行自定义处理)

以下是我正在努力解决的代码:

    private void _menuEditDelete_Click(object sender, EventArgs e)
    {
        if (_treeDocumentOutline.Focused)
        {
            DeleteNode();
        }
        else if (_gridAttributes.Focused)
        {
            DeleteSelectedRows();
        }
        else if (_gridAttributes.EditingControl != null && _gridAttributes.EditingControl.Focused)
        {
            // TODO: this is nuts...how to let the grid handle the key?  Losing ability to undo/redo this way
            var box = ((TextBox)_gridAttributes.EditingControl);
            var selectionStart = box.SelectionStart;
            var selectionEnd = box.SelectionStart + Math.Min(Math.Max(1, box.SelectionLength), box.Text.Length - box.SelectionStart);
            box.Text = box.Text.Substring(0, selectionStart) + box.Text.Substring(selectionEnd);
            box.SelectionStart = selectionStart;
            box.SelectionLength = 0;

        }
    }

你到底想做什么?我有一个带有Del助记符的编辑|删除菜单选项。当树控件或网格具有焦点时,我希望删除节点/行。但是,如果网格处于编辑模式,并且单元格具有焦点,我希望底层的editbox处理删除操作。如果这是在你的应用程序中,或者是在外部应用程序中?我的应用程序..我可以控制源…例如,我可以在进入编辑模式时禁用“删除”菜单命令。我就是这样做的。事实上,我在编辑模式下禁用了所有快捷方式。