2011年5月31日火曜日

非同期で開いたフォーム(WinForms)を閉じたときのイベント処理

マルチウィンドウで動作させる場合によく使う処理。
リストなどを使って複数保持することできめ細かな制御ができる。

    '宣言 
    Private Form1 as Form

    'フォーム起動
    Private Sub Form1_Open()

        If Form1 Is Nothing Then
            Form1 = New Form
            AddHandler Form1.FormClosed, AddressOf Form1_Closed
            Form1.Show()
        End If

        Form1.Activate()

    End Sub

    'フォーム終了時イベント
    Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs)
        Form1 = Nothing
    End Sub

2011年5月19日木曜日

ソースコードの整形を試す

いろいろとブログとか読んでいると,サンプルコードの表示がきれいに整形されている。
そこで方法を探してみた。既に実例が多いのでいくつも見つかったけれど,「Syntax Highlighter」「唐辛子」というのを試してみた。



「Syntax Highlighter」を使用

対象言語がいろいろあるし,行番号は表示されるし,設定が済めばソースコードそのまま貼り付けるだけだし,とても便利。


        Private Sub Test()

            Dim test1 As String = "Hello "
            Dim test2 As String = "World!"

            Dim hello As String = Nothing

            For Each el In test1.ToCharArray
                hello &= el
            Next

            For Each el In test2.ToCharArray
                hello &= el
            Next

            Debug.WriteLine(hello)

        End Sub

使用できる言語
Syntax Highlighter Brushes

XMLを表示する場合はHTML実体参照に変換したコードを貼り付けないと正しく表示されない。
HTML実体参照変換

「唐辛子」で変換(CSS使用)

設定が必要だけど,きれいに表示されるのでこれまた便利。
Webツールで変換したコードを貼り付けて使用。


        Private Sub Test()

            Dim test1 As String = "Hello "
            Dim test2 As String = "World!"

            Dim hello As String = Nothing

            For Each el In test1.ToCharArray
                hello &= el
            Next

            For Each el In test2.ToCharArray
                hello &= el
            Next

            Debug.WriteLine(hello)

        End Sub


「唐辛子」でStyle属性を付与して変換

Webツールで変換して使用。
シンプルな表示だが,設定も必要なく貼り付けるだけで手軽に使える。


Private Sub Test()

Dim test1 As String = "Hello "
Dim test2 As String = "World!"

Dim hello As String = Nothing

For Each el In test1.ToCharArray
hello &= el
Next

For Each el In test2.ToCharArray
hello &= el
Next

Debug.WriteLine(hello)

End Sub