Tag: 焦点

如何在打开一个进程(记事本)后将焦点重新设置回forms?

我使用Process.Start()从程序中打开一个记事本,但新打开的记事本覆盖了屏幕。 但我确实希望我的应用程序保持其重点。 我同样(使用相同的Process.Start)打开MS Excel和Word,但要将焦点重新放回到我的表单,我需要写的是: this.Focus(); 但是用记事本怪起来:我打开记事本(以及所有其他这样的过程) Process process = new Process(); process.StartInfo.UseShellExecute = true; process.EnableRaisingEvents = true; process.StartInfo.FileName = @”abc.log”; process.Start(); 现在记事本成为焦点。 我试过这些: this.Activate() , this.Focus() ,不用说了 [DllImport(“user32.dll”, CharSet=CharSet.Auto, ExactSpelling=true)] public static extern IntPtr SetFocus(HandleRef hWnd); { IntPtr hWnd = myProcess.Handle; SetFocus(new HandleRef(null, hWnd)); } [DllImport(“User32”)] private static extern int SetForegroundWindow(IntPtr hwnd); [DllImportAttribute(“User32.DLL”)] private static […]

背景键按下监听器

我有一个简单的窗口forms应用程序,当我按空格键时打开大写锁定,如果我按下一个字母则将其关闭。 问题是我必须专注于窗口才能工作(最顶层也不起作用,最顶层不会只关注它只显示窗口高于其他所有未聚焦的窗口)。 任何人都知道即使我在记事本中写作,我怎么能让它工作?

Webbrowser窃取焦点

我正在winforms app(c#)中使用webbrowser控件。 当它正在进行自动化操作时,我正在从我正在使用的窗口中失去焦点控制。 Web浏览器的forms也没有显示出来,我只是从控制中失去了焦点。 我现在写这条消息,我必须一次又一次地点击进入文本框…… 如何在webbrowser中禁用此类行为? 我创建了这样的隐形web浏览器: var br = new WebBrowser(); br.Visible = false; br.ScriptErrorsSuppressed = true; 请指教。

禁用WPF窗口焦点

我有一个WPF窗口,只有当您通过Visibility.Hidden和Visibility.Visible按住Tab键时才会显示。 但是,按住该键可将焦点从活动应用程序转移到WPF窗口。 我可以禁用此行为吗? 更进一步:是否可以完全防止窗口即使在单击控件时聚焦,但仍然注册控件的单击操作?

如何将焦点设置为Windows窗体应用程序中的控件?

在Windows窗体应用程序中, 何时编写代码以在启动应用程序时以及随后在调用函数后将焦点设置为控件? 例如,如果我有一个DropDownList,一个TextBox和四个按钮,我希望将Focus设置为DropDownList,我在哪里编写代码? 要在应用程序启动时将焦点设置为特定控件,我可以将选项卡索引设置为DropDown(具有最小值,假设TabStop属性设置为True)。 现在,如果用户完成一个操作(比如任何一个Click Button事件),然后我更新了DropDown,之后如果我想设置焦点……我可以这样做 MyDropDownList.Focus() 题 NB:问题更多的是关于何处 ,而不是如何 ?

WPF – 单击文本框外部时删除焦点

我有一些文本框,我希望专注于与WPF应用程序的正常行为略有不同。 基本上,我希望他们的行为更像是网页上的文本框行为。 也就是说,如果我点击文本框外的任何地方,它将失去焦点。 这样做的最佳方法是什么? 如果答案是以编程方式移除焦点,那么在边界外检测Mouseclick的最佳方法是什么? 如果我点击的元素将成为焦点的新接收者,该怎么办?

使表格无法在C#中聚焦

我想写一个虚拟键盘,就像触摸屏电脑的Windows屏幕键盘一样。 但我的虚拟键盘问题正在从使用的应用程序中窃取焦点。 即使用户点击它,Windows屏幕键盘也会将焦点集中在当前应用程序上。 有没有办法在C#中使用Windows窗体做同样的事情? 我现在唯一能做的就是将键盘事件发送到特定的应用程序,例如以下代码中的记事本。 如果我可以使表单不可聚焦,我可以使用GetForegroundWindow获取当前聚焦窗口。 [DllImport(“USER32.DLL”, CharSet = CharSet.Unicode)] public static extern IntPtr FindWindow(string lpClassName,string lpWindowName); [DllImport(“USER32.DLL”)] public static extern bool SetForegroundWindow(IntPtr hWnd); private void button1_Click(object sender, EventArgs e) { IntPtr calculatorHandle = FindWindow(“notepad”, null); SetForegroundWindow(calculatorHandle); SendKeys.SendWait(“111”); } 有没有办法可以做到这一点? 有没有更好的方法让表格将键盘事件发送到正在使用的应用程序? 谢谢!!

如何更改焦点在WPF中的显示方式?

wpf在Windows 7上提供的焦点视觉提示是一条虚线,如下所示: 现在,我该如何改变它的外观? 我该如何控制它的外观? 谢谢!

如何在C#中使用箭头禁用WinForm上的导航?

我需要禁用在窗体上使用箭头更改焦点。 有一个简单的方法怎么做? 谢谢

如何在C#中设置/更改/删除按钮上的焦点样式?

我有几个按钮,我修改了它们的样子。 我已将它们设置为带有背景和自定义边框的平面按钮,因此它们看起来很漂亮而且不再像普通按钮那样(实际上,它们现在看起来像Office 2003按钮;-)。 按钮的边框为一个像素。 然而,当按钮被选中时(通过点击或键盘操作获得焦点,如按Tab键),按钮突然得到并且在它周围有相同颜色的额外边框,因此使其成为两个像素的边框。 此外,当我禁用一个像素边框时,该按钮在焦点上不会获得一个像素边框。 在网上这个问题被问了很多,比如’如何禁用对按钮的关注’,但这不是我想要的:焦点应该仍然存在 ,而不是以现在的方式显示 。 有什么建议? 🙂