相关疑难解决方法(0)

在WinForms应用程序中找到集中控件的首选方法是什么?

找到当前在WinForms中接收用户(键盘)输入的控件的首选/最简单方法是什么?

到目前为止,我已经提出以下建议:

public static Control FindFocusedControl(Control control)
{
    var container = control as ContainerControl;
    return (null != container
        ? FindFocusedControl(container.ActiveControl)
        : control);
}
Run Code Online (Sandbox Code Playgroud)

从表单中,可以简单地称为(在.NET 3.5+中甚至可以将其定义为表单上的扩展方法) -

var focused = FindFocusedControl(this);
Run Code Online (Sandbox Code Playgroud)

这个合适吗?

是否有我应该使用的内置方法?

请注意,使用层次结构时,单次调用ActiveControl是不够的.想像:

Form
    TableLayoutPanel
        FlowLayoutPanel
            TextBox (focused)
Run Code Online (Sandbox Code Playgroud)

(formInstance).ActiveControl将返回对TableLayoutPanel的引用,而不是TextBox(因为ActiveControl似乎只是在控制树中返回直接活动的子节点,而我正在寻找叶子控件).

.net winforms

65
推荐指数
4
解决办法
5万
查看次数

如何使用C#模拟CTRL + V击键(粘贴)

我们如何使用C#模拟CTRL+ V键(粘贴)?

我有一个没有访问ID的文本框,例如textbox1.Text = someValue在这里不起作用.
我想通过点击来填充该文本框(来自剪贴板).由于某些原因,我们确实需要模拟CTRL+ V,这意味着我们不能使用像inputsmulator这样的外部库.

html c# paste winforms

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

winforms ×2

.net ×1

c# ×1

html ×1

paste ×1