如何将弹出窗口放置在Excel VSTO应用程序中



我对此有很多研究,但是无论如何我都失败了。我正在处理Excel VSTO加载项,其中有一个弹出式表单。此弹出形式为类型形式。每当单击一个按钮时,它都会打开。问题是我无法将其放在点击的按钮下。

已经尝试了:

  • 获取按钮位置属性并将其设置为表格的地点。但是,当我设置表格的位置时,它被认为是桌面位置。

  • 光标位置。它的工作方式更好。但是我的按钮在屏幕的边缘,因此当用户单击边缘时按钮,几乎没有看到该表格,因为它脱离了桌面可见性

立即发布问题,我得到了答案。我要发布答案,因为它可能会帮助他人

我发现按钮相对于屏幕的位置:

var location = button.Parent.PointToScreen(button.Location);

并通过

给予了弹出式表单的位置
this.DocumentOptions = new HeaderDocumentOptions
        {
            Visible = true,
            StartPosition = FormStartPosition.Manual,
            Location = new Point(location.X - 130 + btnDocumentOptions.Width, location.Y + btnDocumentOptions.Height)
        };

注意:我在其x中减去并添加了一些值,以满足我的需求

最新更新