c# - 在父级的中心显示对话框

标签 c# winforms .net-4.0 positioning center

在其父窗体的中心显示一个 DialogBox 真是一团糟。这是显示对话框的方法。

我将其父级定位到中心但无法使 DialogBox 居中

private void OpenForm(Object point, Object height, Object width)
{
    FormLoading frm = new FormLoading();
    Point temp = (Point)point;
    Point location = new Point(temp.X + (int)((int)width) / 2, 
                               temp.Y + (int)((int)height) / 2);
    frm.Location = location;
    frm.ShowDialog();
}

private void btnView_Click(object sender, EventArgs e)
{
    try
    {                    
        ThreadStart starter= delegate { OpenForm(currentScreenLocation, 
                                                 this.Height, this.Width); };
        Thread t = new Thread(starter);
        t.Start();
        ////// Some functionality here...
        t.Abort();
    }
    catch (Exception)
    {
    }
}

最佳答案

您可能需要检查 Form.StartPosition 属性。

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.startposition.aspx

类似的东西:

private void OpenForm(Form parent)
{
    FormLoading frm = new FormLoading();
    frm.Parent = parent;
    frm.StartPosition = FormStartPosition.CenterParent;
    frm.ShowDialog();
}

这当然需要设置表单的父级。

关于c# - 在父级的中心显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6606750/

相关文章:

c# - 如何登录事件目录?

c# - 在自定义类上创建字典样式的集合初始值设定项

c# - C# 的对象缓存

c# - 使用转换器创建标记扩展

c# - 在 C# 中使用 TreeView 创 build 置表单

c# - 在 C# 中快速动态模糊搜索 100k+ 字符串

c# - 您应该在类中引用属性还是成员变量?

c# - 分析 WPF + WCF + EF 应用程序

C# winform 文本框如何在第二次单击按钮时变为空?

c# - Windows 桌面大小更改事件?