gpt4 book ai didi

c# - VSTO AddIn for Excel - 如何防止自定义任务 Pane 失去焦点?

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:05 24 4
gpt4 key购买 nike

我为 MS Excel 创建了一个简单的加载项,但自定义任务 Pane 出现问题。

自定义任务 Pane 控件是用 WPF 编写的,但是每当用户尝试将一些数据输入到他之前用鼠标选择的 CTP 中的文本框字段时,Excel 会锁定焦点并将其返回到所选单元格。

我可以阻止这种行为吗?

用户需要应用的解决方案是按键盘上的“Esc”键,然后他可以再次选择CTP中的输入控件并写入。

具有上下文菜单的控件也会发生同样的情况。当用户用鼠标右键单击控件时,上下文菜单很快就会出现,焦点将返回到 Excel 工作表。

如果用户正在积极编辑某些单元格,那么在完成编辑之前他无法选择 CTP 中的两个控件,但可以访问功能区按钮。

如果适用,请指出现有的解决方案。

最佳答案

@beaver - 当任何 Pane 窗口上的所有控件都被禁用时,Excel 会 secret 窃取焦点;以按下 ALT 键结束。纠正这种情况; ALT 然后按 ESC 键。

在类里面..

Using System.Windows.Forms;

....
在没有控制焦点的过程之后

SendKeys.Send("%");
SendKeys.SendWait("{ESC}");

[可选但强烈推荐以获得更好的性能]
....
在你的 App.config 中

<configuration>
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
...

关于c# - VSTO AddIn for Excel - 如何防止自定义任务 Pane 失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34084542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com