当前位置: 首页 > news >正文

powershell绑定按钮事件的两种方式

写一个powershell的简单GUI做本地任务,试验出2个方法:

方法1:


function btn1_click {
   	write-host $text1.Text -ForegroundColor Green -BackgroundColor Black
}

$btn1.Add_Click({btn1_click})

方法2:


$btn2_click = {
	write-host $text2.Text -ForegroundColor Cyan -BackgroundColor Black
}

$btn2.Add_Click($btn2_click)

完整代码:




$form = New-Object System.Windows.Forms.Form
$form.Text = 'DIY task' #文本,即窗体标题 
$form.Size = New-Object System.Drawing.Size(600, 300) #窗体大小,长为600,宽为300
$form.StartPosition = 'CenterScreen' #出现的位置为屏幕中央


$btn1 = New-Object System.Windows.Forms.Button #创建按钮
$btn1.Location = New-Object System.Drawing.Size(10,10)
$btn1.Size = New-Object System.Drawing.Size(100,20)
$btn1.Text = "task1"
$btn1.Add_Click({btn1_click})
$form.Controls.Add($btn1)


$text1 = New-Object System.Windows.Forms.TextBox #创建文本框
$text1.Location = New-Object System.Drawing.Point(150, 10)
$text1.Size = New-Object System.Drawing.Size(200, 20)
$form.Controls.Add($text1)


$btn2 = New-Object System.Windows.Forms.Button  
$btn2.Location = New-Object System.Drawing.Size(10, 50)
$btn2.Size = New-Object System.Drawing.Size(100,20)
$btn2.Text = "task2"
$btn2.Add_Click($btn2_click)
$form.Controls.Add($btn2)


$text2 = New-Object System.Windows.Forms.TextBox #创建文本框
$text2.Location = New-Object System.Drawing.Point(150, 50)
$text2.Size = New-Object System.Drawing.Size(200, 20)
$form.Controls.Add($text2)


$form.Topmost = $true #是否强制窗体在其他已打开的窗体和对话框上打开,True为强制
$form.showdialog()


# task function
$btn2_click = {
	write-host $text2.Text -ForegroundColor Cyan -BackgroundColor Black
}

function btn1_click {
   	write-host $text1.Text -ForegroundColor Green -BackgroundColor Black
}

http://www.dtcms.com/a/116614.html

相关文章:

  • Elasticsearch|名词解释
  • 【SAP-FI】总账会计系统配置
  • 宝塔面板使用CDN 部署后获取真实客户端 IP教程
  • 如何免费使用Meta Llama 4?
  • Altium Designer——规则设置
  • Linux服务器调用API发送通知邮件的实现方案
  • win10安装gitbash工具
  • WAF防护规则配置技巧与企业级安全实践指南
  • ICMP 协议深度解析
  • Java 大视界 -- 基于 Java 的大数据隐私保护在金融客户信息管理中的实践与挑战(178)
  • 深入理解重排(Reflow)与重绘(Repaint),写出高性能 CSS 动画
  • MyBatis的缓存、逆向工程、使用PageHelper、使用PageHelper
  • 用VAE作为标题显示标题过短,所以标题变成了这样
  • 6135. 奶牛体检-枚举
  • JavaScript学习24-防抖
  • scala-集合2
  • maskgct 的升级版Metis,支持情感控制、语速调节和音色转换、扩展性进一步增强
  • UniApp Vue 3 中的网络请求封装及用法
  • 在 Java 中调用 ChatGPT API 并实现流式接收(Server-Sent Events, SSE)
  • Github上一些使用技巧(缩写、Issue的Highlight)自用
  • 数学知识——分解质因数
  • 蓝桥杯嵌入式16届 —— 按键模块
  • 数据库管理-第311期 不同数据库的存算分离有何不同(20250407)
  • 【Android Sdk】uiautomatorviewer.bats闪退问题如何解决?
  • C++标准库 —— round 函数用法详解
  • 【DeepSeek原理学习2】MLA 多头隐变量注意力
  • elasticSearch-搜索引擎
  • P2036 [COCI 2008/2009 #2] PERKET
  • 【Linux篇】基础IO - 揭秘重定向与缓冲区的管理机制
  • RFID警用装备柜|快速实现装备借出归还