如何创建与其他控件位置相同的弹出窗体
本文关键字:位置 窗体 控件 其他 何创建 创建 | 更新日期: 2023-09-27 18:25:00
我在MSDN上读过关于Control.PointToClient
或Control.PointToScreen
的文章。
但是,如果我有这个控制层次结构,当Button
单击时,如何显示与TextBox
相同位置的另一个窗体?
+- Form
+--- Panel
+---- Panel
+------ TextBox
+------ Button
使用具有空点(0,0)的PointToScreen
来获得控件相对于屏幕的位置,然后只在那里显示表单(确保StartPosition
是Manual
):
Point controlPosition = myTextBox.PointToScreen(Point.Empty);
MyForm newForm = new MyForm();
newForm.Location = controlPosition;
newForm.Show(this);
如果将新表单显示为showdialog,则需要使用:
newForm.StartPosition = FormStartPosition.Manual;