【问题标题】:Why are WinForms controls disabled when the user zooms in Excel?为什么当用户放大 Excel 时 WinForms 控件被禁用?
【发布时间】:2011-04-05 21:35:50
【问题描述】:

当我打开一个带有嵌入式 WinForms 控件的 Excel 电子表格,放大一点(ctrl + 滚动)并尝试单击一个控件(使用按钮和列表框测试)时,弹出窗口中会显示以下消息:

Windows 窗体控件已被禁用,因为文档已被缩放。当缩放返回到 100% 时,控件将重新激活。

在放大/缩小时使控件不起作用的原因是什么,有没有办法解决这个问题以保持控件正常工作?

我正在使用 .NET 3.5 和 Excel 2007。

【问题讨论】:

    标签: .net winforms excel interop vsto


    【解决方案1】:

    因为缩放使用表单的临时图像来缩放它,因此没有控件。当您返回正常视图时,图像被丢弃,您返回到实际窗体,该窗体上有控件。

    您无法使用普通的 Excel 缩放功能解决此问题,因为没有什么可解决的。

    【讨论】:

    • 看来你是对的:msdn.microsoft.com/en-us/library/ms178765%28VS.80%29.aspx(搜索“缩放”)。
    • 临时缩放图片是 vsto 特有的吗?
    • 据我所知没有;我很确定这都是 Office 自动化版本。 (如果您仔细考虑一下,这才有意义 - 您如何在整个操作系统中仅缩放一个窗口并仍然保持所有窗口中的所有功能?)
    【解决方案2】:

    有某种解决方法。 我从 VS 工具箱插入表单,而是在 excel 中打开工作簿并插入一些 ActiveX 控件,它们没有这个限制。

    【讨论】:

      猜你喜欢
      • 2012-01-01
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 2014-05-28
      相关资源
      最近更新 更多