对此我有很多研究,但无论如何我还是失败了。 我正在使用Excel VSTO加载项,其中有一个弹出表单。此弹出表单的类型为Form。只要单击按钮,它就会打开。问题是我无法将其定位在单击的按钮正下方。
已经尝试过:
获取按钮Location属性并将其设置为表单的 位置。但是,当我设置表格的位置时,它被认为是 桌面位置。
光标位置。它的工作效果更好。但是我的按钮在屏幕的边缘,所以当用户单击 按钮,因为它离开了台式机,所以几乎看不到它 可见性
答案 0 :(得分:0)
发布问题后,我就得到了答案。我正在发布我的答案,因为它可能会帮助其他人
我通过以下方式找到了按钮相对于屏幕的位置:
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上减去了一些值并添加了