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 设置为手动以在加载时遵守 location 属性,因此不需要上面的事件处理程序。

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

您无需为位置或大小指定新对象。正如安迪所添加的,该StartPostion属性是您需要更改为Manual. 然后简单地给Location属性一个字符串值,比如'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 回答