Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 屏幕左上角的窗体开口_C#_Winforms - Fatal编程技术网

C# 屏幕左上角的窗体开口

C# 屏幕左上角的窗体开口,c#,winforms,C#,Winforms,我想在父窗体的中心打开一个winform,它已经是一个mdiChild,即我无法在父窗体上设置为mdiContainer。下面是我使用的代码。我创建的表单总是在我指定给它的父对象的左上角打开,这很令人沮丧 loadingCircle = new Loading(Title); loadingCircle.TopLevel = false; loadingCircle.Parent = this; loadingCircle.Show

我想在父窗体的中心打开一个winform,它已经是一个mdiChild,即我无法在父窗体上设置为mdiContainer。下面是我使用的代码。我创建的表单总是在我指定给它的父对象的左上角打开,这很令人沮丧

        loadingCircle = new Loading(Title);
        loadingCircle.TopLevel = false;
        loadingCircle.Parent = this;
        loadingCircle.Show();
        loadingCircle.BringToFront();
我已在designer中将StartPosition切换到CenterParent,但它似乎没有任何作用


我错过了什么明显的东西吗?

要进入屏幕中央

您可以使用:

   loadingCircle.StartPosition = FormStartPosition.CenterScreen;
或:

loadingCircle.ShowDialog; 或尝试使用以下代码查找中心位置:

  Form loadingCircle = new frmLoading();
        loadingCircle.StartPosition = FormStartPosition.Manual;
        loadingCircle.Location = new Point(this.Location.X + (this.Width - loadingCircle.Width) / 2, this.Location.Y + (this.Height - loadingCircle.Height) / 2);
        loadingCircle.Show(this);

请看,我不想使用ShowDialog,因为我仍然希望用户能够与UI交互。还有其他的建议吗?我用了一个小小的变化,但它确实有效!loadingCircle=新的LoadingCirclerRegisterTitle;loadingCircle.TopLevel=false;loadingCircle.Parent=这个;Point startPosition=新点this.Parent.Width/2-加载循环.Width/2,this.Parent.Height/2-加载循环.Height/2;加载循环。位置=起始位置;loadingCircle.Show;加载循环。带向斜坡;