桌面开发:在失去焦点后记住目标

时间:2009-05-08 19:58:29

标签: c# windows desktop desktop-application

是否可以从另一个程序获取焦点来响应事件,但是一旦处理完响应,切换回上一个程序并将光标恢复到原来的位置?

这听起来像一个奇怪的问题,但按照

的方式思考
  1. 用户在计划A
  2. 中输入文字框
  3. 弹出程序B 的窗口,用户按几个按钮确认。
  4. 程序B 将控件返回程序A 并恢复文本框的选择。
  5. 如果有一个完整的C#解决方案,那么很好,但这听起来可能需要比平常更多的努力。

    有什么想法吗?

2 个答案:

答案 0 :(得分:1)

就个人而言,这样做很可能导致用户在弹出窗口中选择不需要的值。例如,有人在Word中输入。您的应用程序弹出一个窗口,点击“Enter”选择一个值...例如默认按钮。在不想要的情况下,用户在表单上“选择”了一个不正确的值。

Windows本身倾向于这样做,而且非常烦人。快速双击桌面快捷方式以打开应用程序,然后在应用程序启动之前切换回(例如)电子邮件,将倾向于从焦点电子邮件窗口中移除焦点并将焦点放在刚刚打开的应用程序中,导致您的电子邮件文本或键盘笔划转到刚刚打开的窗口。

答案 1 :(得分:1)

根据我的经验,Windows程序就是这样工作的。通常看起来它们不会,因为用户通过鼠标点击返回焦点,鼠标点击本身会重置焦点。如果它是一个winforms应用程序,您可以在表单级别上执行丢失焦点/获得焦点事件。