![](/img/trans.png)
[英]Find control position relative to the parent form when it is inside a splittercontainer
[英]How to display a Modal form in a position relative to the a control in the parent window (opener)
好吧,我有一個打開的表單:
ShowDialog(this);
我嘗試使用其Location
屬性更改表單的Location
,但我不明白這個位置到底是什么? 我想在某個按鈕下方打開此表單。 那么怎么做呢?
謝謝。
表格將指向相對於屏幕左上角的坐標。 然而,一個表格內的控制的位置是相對於所述形式†的左上角。
使用Control的Location
屬性查找其位置,然后在Form對象上調用PointToScreen
將其轉換為屏幕坐標。 然后,您可以相對於該位置定位新表單。
例如:
var locationInForm = myControl.Location;
var locationOnScreen = mainForm.PointToScreen(locationInForm);
using (var model = new ModelForm())
{
model.Location = new Point(locationOnScreen.X, locationOnScreen.Y + myControl.Height + 3);
model.ShowDialog();
}
† 實際上是表單客戶區的左上角。
我更喜歡這個:
myModalForm.Location = New Point(myControl.PointToScreen(Point.Empty).X + myControl.Width, myControl.PointToScreen(Point.Empty).Y)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.