1

いくつかの PowerShell スクリプトを使用する基本的な「ヘルプデスク スタイル」ツールを作成する必要があります。.NET フォーム オブジェクトを使用してウィンドウを作成していますが、Localtion 属性 (および Point オブジェクトを必要とするその他の属性) を正しく設定できません。

$form = New-Object system.Windows.Forms.Form;
$form.AutoSize = $true;
$form.minimumSize = New-Object System.Drawing.Size(400, 300);
$form.Location = New-Object System.Drawing.Point(10, 10);
$form.DataBindings.DefaultDataSourceUpdateMode = 0;

$form.ShowDialog();

ウィンドウ フォームが表示され、寸法は正しいが、位置が間違っています。何か不足していますか?

4

2 に答える 2

4

Load イベントで location プロパティを変更できます。

$handler_form_Load = {
    $form.Location = New-Object System.Drawing.Point(10, 10);
}

$form = New-Object system.Windows.Forms.Form;
$form.AutoSize = $true;
$form.minimumSize = New-Object System.Drawing.Size(400, 300);
$form.add_Load($handler_form_Load)
$form.DataBindings.DefaultDataSourceUpdateMode = 0;

$form.ShowDialog();

また、@Lorenzo が見つけたように、StartPosition をmanualに設定して、ロード時に location プロパティを優先するため、上記のイベント ハンドラーは必要ありません。

$form.StartPosition = "manual"
于 2013-04-02T14:42:29.393 に答える
0

位置やサイズに新しいオブジェクトを指定する必要はありません。Andy によって追加されたように、StartPostionプロパティは変更する必要があるものですManualLocation次に、プロパティに のような文字列値を与えるだけ'x, y'です。

Add-Type -AssemblyName System.Windows.Forms

$Form               = New-Object system.Windows.Forms.Form
$Form.AutoSize      = $true
$Form.minimumSize   = '800, 300'
$Form.StartPosition = 'Manual'
$Form.Location      = '500, 500'

$Form.ShowDialog()
于 2021-05-13T15:42:56.780 に答える