マルチモニタシステムでWindowsフォームを使用すると、ShowDialog()のフォームの位置をStartPositionの列挙型以外の特定の列挙型に設定できますか?私はマニュアル位置プロパティの宣言で列挙しようとしましたが、それは必ずしも呼び出し元のウィンドウではないWindows用のプライマリディスプレイ上の場所を選択します。ShowDialog()でウィンドウの表示位置を選択する
私の最適な解決策は、関数呼び出し時にマウスポインタに関連してフォームを配置することです。
マルチモニタシステムでWindowsフォームを使用すると、ShowDialog()のフォームの位置をStartPositionの列挙型以外の特定の列挙型に設定できますか?私はマニュアル位置プロパティの宣言で列挙しようとしましたが、それは必ずしも呼び出し元のウィンドウではないWindows用のプライマリディスプレイ上の場所を選択します。ShowDialog()でウィンドウの表示位置を選択する
私の最適な解決策は、関数呼び出し時にマウスポインタに関連してフォームを配置することです。
マウスの位置を取得し、その位置を設定する必要があります。私がバットからすぐに考えることができる2つの方法があります。
位置を取得するには、Cursorクラスを使用します。 this.Location = new Point(Cursor.Position.X, Cursor.Position.Y);
などがあなたの言語で利用できる場合は、私はそうするでしょう。
GetCursorPos関数を使用できます。あなたはC#またはVBを使用している場合は、それを定義する必要があります。詳細については、のPInvokeに見つけることができます:http://www.pinvoke.net/default.aspx/user32.getcursorpos
Cursor.Position.XとCursor.Position.Y – sammarcow
あなたが正しいですが、それを変更しました。編集: 'this.Location = Cursor.Position; 'を設定するだけで、少し小さくすることができます。positionプロパティはPointでなければなりません。 – ozdrgnaDiies