我对此有很多研究,但是无论如何我都失败了。我正在处理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中减去并添加了一些值,以满足我的需求