2010年7月1日 星期四

試寫VB程式:網頁下拉式選單程式碼產生工具

今天就自己試寫VB.net程式看看~

VB下拉式選單

今天在家裡上網逛一下部落格,就發現有一邊網誌的教學,可以用在自己的部落格上!當我看到下面有HTML程式碼時,我就突然想試著寫VB.net程式,寫出一個網頁程式碼產生工具!

我參考海芋小站的無上限新增好友名單一文,寫出了圖形化的程式碼產生工具當作練習~

這個工具是可以產生下拉式選單,點下去就會開新視窗並連到指定的網頁,就類似無名的「好友的網誌」、「好友的相簿」......的下拉式選單。

這個工具使用方法:先新增大標題→然後在一一新增內容→最後按下「完成了!加入結尾結束!」按鈕,就會在程式馬上加上結尾→把產生出來的全部複製,貼在HTML理你要擺放的位置就行了!

成果範例:

下載位置:http://cid-a519de06879c8b75.office.live.com/self.aspx/%E8%B3%87%E8%A8%8A%E4%BD%9C%E5%93%81/%E4%B8%8B%E6%8B%89%E5%BC%8F%E9%80%A3%E7%B5%90%E9%81%B8%E5%96%AE.exe

這個工具原始碼:

Public Class Form1
    Dim first_opt As Integer = 1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        code.Text = "<select onchange='if(this.selectedIndex && this.selectedIndex!=0){window.open(this.value);}this.selectedIndex=0;' value='0'>" & vbNewLine & "<option selected='true'>::其他連結::</option>" & vbNewLine
        LTitle.Focus()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If first_opt = 0 Then
            code.Text &= "</optgroup>" & vbNewLine
        End If
        code.Text &= "</select>"
        code.Focus()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If first_opt = 1 Then
            code.Text &= "<optgroup label='" & LTitle.Text & "'>" & vbNewLine
            first_opt = 0
        ElseIf first_opt = 0 Then
            code.Text &= "</optgroup>" & vbNewLine & "<optgroup label='" & LTitle.Text & "'>" & vbNewLine
        End If
        LTitle.Clear()
        STitle.Focus()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        code.Text &= "<option value='" & SUrl.Text & "'>" & STitle.Text & "</option>" & vbNewLine
        STitle.Clear() : SUrl.Clear()
        STitle.Focus()
    End Sub

    Private Sub LinkLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkLabel1.Click
        Process.Start("http://www.inote.tw/2007/03/blog-post_15.html")
    End Sub

    Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
        Process.Start("http://yuan817.blogspot.com")
    End Sub

    Private Sub LTitle_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles LTitle.KeyDown
        Select Case e.KeyCode
            Case Keys.Enter
                If first_opt = 1 Then
                    code.Text &= "<optgroup label='" & LTitle.Text & "'>" & vbNewLine
                    first_opt = 0
                ElseIf first_opt = 0 Then
                    code.Text &= "</optgroup>" & vbNewLine & "<optgroup label='" & LTitle.Text & "'>" & vbNewLine
                End If
                LTitle.Clear()
                STitle.Focus()
        End Select
    End Sub

    Private Sub STitle_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles STitle.KeyDown
        Select Case e.KeyCode
            Case Keys.Enter
                SUrl.Focus()
        End Select
    End Sub

    Private Sub SUrl_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles SUrl.KeyDown
        Select Case e.KeyCode
            Case Keys.Enter
                SUrl.Focus()
                code.Text &= "<option value='" & SUrl.Text & "'>" & STitle.Text & "</option>" & vbNewLine
                STitle.Clear() : SUrl.Clear()
                STitle.Focus()
        End Select
    End Sub
End Class