自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Windows PowerShell創(chuàng)建WinForm程序

開發(fā) 后端
Windows PowerShell最突出之處便在于.NET類庫的支持,很大的擴展了腳本的能力。這使我們能直接在腳本中通過System.Windows.Forms程序集來創(chuàng)建窗口。

今天初次嘗試了一下在PowerShell下創(chuàng)建WinForm程序,將完成的這個簡單的例子分享給大家。

如同在C#編寫WinForm程序中一樣,先創(chuàng)建一個Form類的實例,然后初始化:添加流式布局面板,在面板上加了一個文本框和一個按鈕,給控件添加必要的事件處理。當然使用C#的時候通常是VS自動為我們生成一個窗體類,并添加了一些成員和初始化工作的代碼。不過ps貌似還沒有支持WinForm的IDE。

在Form對象創(chuàng)建完畢之后我們就可以把它顯示出來了。先使用Application類啟用視覺效果,再用Application.Run(Form)方法顯示窗口,啟動消息循環(huán)。

Application.Run()可以為我們正確處理窗口的消息循環(huán),在Run()方法外自行Show窗口會讓窗口一閃而過。

因為代碼比較簡單,熟悉c# WinForm編程的同學應該能一目了然,所以不再做詳細說明。

需要注意的是ps使用反射動態(tài)加載程序集的方法和ps中事件的處理方式。


$app=[System.Windows.Forms.Application]
$myForm=new-object System.Windows.Forms.Form
$myForm.Text="my window"
$button1 = new-object System.Windows.Forms.Button
$button1.Size = new-object System.Drawing.Size -argumentlist 75, 23
$button1.Text = "點我試試"
$textbox1=new-object System.Windows.Forms.TextBox
$textBox1.Multiline = $true;
$textBox1.Text = "hello world"
$textBox1.Size = new-object System.Drawing.Size -argumentlist 281, 227
$flowLayoutPanel1 = new-object System.Windows.Forms.FlowLayoutPanel
$myForm.Controls.Add($flowLayoutPanel1)
$flowLayoutPanel1.Controls.Add($textBox1);
$flowLayoutPanel1.Controls.Add($button1);
$flowLayoutPanel1.Dock = "Fill"
$flowLayoutPanel1.FlowDirection = "TopDown"
$button1ClickEventHandler = [System.EventHandler] {
[System.Windows.Forms.MessageBox]::Show("Hello world!")
}
$button1.Add_Click($button1ClickEventHandler)
$app::EnableVisualStyles()
$app::Run($myForm)

執(zhí)行效果如下圖:

責任編輯:彭凡 來源: cnblogs
相關推薦

2012-01-16 09:18:08

虛擬化桌面虛擬化PowerShell

2012-02-01 10:32:07

PowerShellWindows 7

2015-08-19 16:27:39

PowerShell更新Windows Def

2014-05-19 10:34:03

Windows Pow

2010-10-22 11:01:42

Windows Pow

2017-03-02 21:30:38

Windows 10WindowsPowerShell

2018-11-19 14:45:58

PowerShellWindows 10內置應用程序

2010-12-21 14:08:50

PowerShell

2011-02-14 10:21:04

Windows PowWMI

2010-12-31 14:30:35

PowerShell

2009-04-28 09:51:21

WinForm控制臺輸出

2021-11-23 12:11:59

PowershellLinuxDevOps

2010-11-08 14:47:02

Powershell函數

2009-08-14 11:00:16

C#創(chuàng)建Windows

2016-10-13 08:55:20

Windows 10PowerShelll批量

2012-06-28 09:30:57

虛擬化

2013-12-10 09:31:33

Windows SerPowerShellPowerShell

2017-02-17 09:50:49

Windows 10PowerShell局域網

2010-11-04 14:01:59

PowerShell

2009-07-03 08:38:44

微軟Windows 7PowerShell
點贊
收藏

51CTO技術棧公眾號