2010年7月1日木曜日

◆VisualStudioで作ったフォームを使う

込み入ったフォームを使うときは、やはりVisualStudioのデザイナーで作りたい。
そこで、VisualStudioで作ったフォームをPowershellから使ってみる。
$path = "D:\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2"
$source1 = "Form1.cs"
$source2 = "Form1.Designer.cs"
$source = gc (Join-Path $path $source1)
$source += gc (Join-Path $path $source2)
Add-Type -TypeDefinition ($source | out-string) -ReferencedAssemblies System.Windows.Forms,
                                                                      System.Drawing,
                                                                      System.Data,
                                                                      System.Core
$form = New-Object WindowsFormsApplication1.Form1
$form.button1.text = "test"
$form.button1.Add_Click({$form.textBox1.text = "Hello World"})
[Windows.Forms.Application]::Run($form)

VisualStudioのフォームはパーシャルクラスになっているので2つのソースを連結して読み込んでいる。
それ以外は、これまでと違うところは特に無い。
Powershell側で参照するコントロールについては、予めVisualStudioにてPublicスコープに変更しておく必要がある。(上記の場合はbutton1とtextbox1)

0 件のコメント:

コメントを投稿