You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell Windows Forms中TextBox高度无法调整的问题求助

解决PowerShell WinForms文本框无法调整高度的问题

核心原因

单行模式下的TextBox控件高度由系统字体行高决定,手动设置Size的高度参数不会生效,必须先开启多行模式才能自定义高度。

修复步骤

  • 先将文本框的Multiline属性设为$true,解除高度限制
  • 再通过Size属性调整宽高参数
  • 可选:添加ScrollBars属性,让文本框支持内容滚动(适合大篇幅输入场景)

完整示例代码

# 加载WinForms程序集
Add-Type -AssemblyName System.Windows.Forms

# 创建主窗体
$form = New-Object System.Windows.Forms.Form
$form.Text = "可调整高度的文本框"
$form.Size = New-Object System.Drawing.Size(800, 800)

# 创建并配置文本框
$tb = New-Object System.Windows.Forms.TextBox
$tb.Multiline = $true  # 关键:开启多行模式
$tb.Size = New-Object System.Drawing.Size(600, 700)  # 此时高度设置会生效
$tb.ScrollBars = [System.Windows.Forms.ScrollBars]::Vertical  # 可选:添加垂直滚动条
$tb.Location = New-Object System.Drawing.Point(50, 50)

# 将文本框添加到窗体
$form.Controls.Add($tb)

# 显示窗体
$form.ShowDialog() | Out-Null

补充说明

如果不需要多行输入但想调整高度,可改用Label控件(设置AutoSize=$false并开启WordWrap=$true),但该控件仅支持文本显示,不支持用户输入。单行TextBox的高度受限于系统字体行高,属于WinForms控件的默认行为,无法通过Size属性直接修改。

内容的提问来源于stack exchange,提问作者Amitay Tadmor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:27:02