【问题标题】:VSTO Outlook: Prevent user from resizing the custom task paneVSTO Outlook:阻止用户调整自定义任务窗格的大小
【发布时间】:2022-11-01 05:38:25
【问题描述】:

我在顶部放置了一个自定义任务窗格,我不希望用户调整其高度,我希望保持高度始终相同。此外,当用户尝试调整它的大小时,我想显示一个消息框,说他/她不允许这样做(请不要破解)。我怎样才能做到这一点?

也许做类似于this 的事情?这种方法的问题在于 SendKeys.Send("{ESC}");当您在撰写窗口时正在关闭窗口。

【问题讨论】:

    标签: outlook vsto outlook-addin office-addins customtaskpane


    【解决方案1】:

    SendKeys.Send 方法是取消调整窗格大小的默认操作的最简单方法。相反,您可以尝试使用 Windows API 函数(例如 SetFocus)将焦点从调整窗格大小转移。但是没有现成的解决方案可以开箱即用。

    作为一种可能的解决方法,您可以考虑改用Advanced Outlook Form Regions。它们允许以您需要的方式管理表单 - 隐藏/显示、折叠、在运行时更改大小和布局等。

    【讨论】:

    • 再次感谢。是的,这可能是一种解决方法,但我想避免使用黑客或 Windows API 函数或第三方工具。使用 SendKeys.Send 从撰写窗口发送“ESC”键的问题在于,在撰写窗口中,“ESC”键是关闭撰写窗口的预定义键。它在资源管理器窗口中运行良好,但在检查器(撰写窗口)中却没有。
    • 我从您的帖子中理解了这一点,但是对此没有简单的解决方案。尝试改用 Windows API 函数。
    • 您说:“SendKeys.Send 方法是取消调整窗格大小的默认操作的最简单方法”。我注意到可以通过发送以下击键之一来实现:{ESC}、{ENTER} 以及引发鼠标点击。是否有更多击键来取消使用 SendKeys.Send 调整大小的操作?
    • 听起来像是一个单独的帖子的主题。不要忘记标记答案。
    猜你喜欢
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多