【发布时间】:2016-05-07 05:04:22
【问题描述】:
这就是我想要实现的目标。我有一个简单的聊天 winforms 应用程序,我想将它放在其他全屏应用程序之上,我不希望它获得焦点,但我希望它接受文本框中的用户输入。到目前为止,我已经完成了第一部分,并且我的聊天应用程序保持在其他应用程序之上,而没有集中注意力。这是我用过的:
const int WS_EX_NOACTIVATE = 0x8000000;
protected override CreateParams CreateParams
{
get
{
CreateParams ret = base.CreateParams;
ret.ExStyle |= WS_EX_NOACTIVATE;
return ret;
}
}
public Form1()
{
InitializeComponent();
TopMost = true;
}
现在的问题是我无法在文本框中写入任何内容。所有按钮都可以正常工作,我可以单击它们并触发事件,但文本框不接受任何输入。
【问题讨论】:
-
尝试添加标志 0x00000080,即 WS_EX_TOOLWINDOW
-
仍然不接受任何输入
-
我会说你需要激活窗口的焦点。如果没有文本框焦点,你怎么能写文本?
-
这就是我在这里问的原因。我希望有某种 c# 魔法可以让我做到这一点,特别是因为我可以正常点击按钮。