4

呼び出された場所と同じウィンドウに新しいフォームを表示したいと思います。以下のようなコードでPrimaryScreenまたはVirtualScreenにこのフォームを表示する方法を知っています。

MyForm.Location = Screen.PrimaryScreen.Bounds.Location;

しかし、私はそれを現在の画面に表示したいと思います。それを見つけて現在の画面に表示する方法はありますか?

4

6 に答える 6

7

現在の画面の中央にフォームを表示するために、次のようなことを行いました。

var screen = Screen.FromPoint(Cursor.Position);
myForm.StartPosition = FormStartPosition.Manual;
myForm.Left = screen.Bounds.Left + screen.Bounds.Width / 2 - myForm.Width / 2;
myForm.Top = screen.Bounds.Top + screen.Bounds.Height / 2 - myForm.Height / 2;
于 2013-04-16T06:55:03.660 に答える
5

同じ手法を使用できますが、PrimaryScreenを使用する代わりに、Screen.FromPointCursor.Positionを使用して画面を取得します。

Screen screen = Screen.FromPoint(Cursor.Position);
MyForm.Location = screen.Bounds.Location;
于 2010-06-19T00:38:36.073 に答える
1

StartPosition を Manual に設定していないようです。

于 2011-03-30T14:55:52.063 に答える
1
  1. デザインモードでフォームをクリックします。
  2. StartPosition プロパティを CenterScreen に変更します。

これにより、アクティブな画面でフォームが開きます。StartPosition のその他の値については、これを参照 してください。

于 2016-01-21T09:45:27.353 に答える
0

既に親フォームがあり、同じ画面で新しいフォームを開きたい場合は、ShowDialog メソッドに親フォームへの参照を与えnewForm.ShowDialog(this);ますthis。フォームは別の画面にあります。

于 2015-12-15T17:16:32.327 に答える