查看: 5294|回復: 0
打印 上一主題 下一主題

VB.NET下基于控件的系統托盤(pán)及退出保護設計源碼及貼圖

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2009-4-3 00:14:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: NET , 控件 , 托盤(pán) , 系統 , 源碼
Public Class Form1
    Dim SystemExitFlag = False
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "俺是農民,俺怕誰(shuí)???"
        RichTextBox1.AppendText(TextBox1.Text)
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ToolStripStatusLabel3.Text = DateTime.Now.ToString()
        If ToolStripProgressBar1.Value < ToolStripProgressBar1.Maximum Then
            ToolStripProgressBar1.Value = ToolStripProgressBar1.Value + ToolStripProgressBar1.Step
        Else
            ToolStripProgressBar1.Value = ToolStripProgressBar1.Minimum
        End If
    End Sub
    Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
        Me.Visible = Not Me.Visible '隱藏/顯示窗體轉換
        If Me.Visible Then '準備顯示窗體
            '防止最小化不正常顯示窗體
            NotifyIcon1.Icon = System.Drawing.Icon.ExtractAssociatedIcon("Hot.ico")
            Me.WindowState = System.Windows.Forms.FormWindowState.Normal
        Else
            NotifyIcon1.Icon = System.Drawing.Icon.ExtractAssociatedIcon("Power.ico")
        End If
    End Sub
    Private Sub NotifyIcon1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
        '鼠標右鍵系統托盤(pán)事件處理
        ContextMenuStrip1.Visible = e.Button = MouseButtons.Right '點(diǎn)擊鼠標右鍵后顯示菜單
    End Sub
    Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs)
        '在Resize事件處理中攔截最小最大消息到托盤(pán)
        Select Case Me.WindowState
            Case FormWindowState.Maximized, FormWindowState.Minimized
                Me.WindowState = System.Windows.Forms.FormWindowState.Normal
                Me.Visible = False '隱藏窗體轉換
                NotifyIcon1.Icon = System.Drawing.Icon.ExtractAssociatedIcon("Power.ico") '顯示隱藏的托盤(pán)圖標
        End Select
    End Sub
    Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        If SystemExitFlag = True AndAlso MessageBox.Show("請您確認是否退出(Y/N)", "系統提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = DialogResult.Yes Then
            e.Cancel = False '托盤(pán)退出菜單允許退出系統
        Else
            e.Cancel = True '最小最大關(guān)閉菜單退出鈕都會(huì )阻止退出系統
            Me.WindowState = System.Windows.Forms.FormWindowState.Normal
            Me.Visible = False '隱藏窗體轉換
            NotifyIcon1.Icon = System.Drawing.Icon.ExtractAssociatedIcon("Power.ico") '顯示隱藏的托盤(pán)圖標
            'MessageBox.Show("請從系統托盤(pán)中退出!!!", "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        End If
    End Sub
    Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click
        ToolStripStatusLabel2.Text = "非法退出"
        SystemExitFlag = False
        Close() '退入托盤(pán)
    End Sub
    Private Sub 退出ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem1.Click
        ToolStripStatusLabel2.Text = "正常退出"
        SystemExitFlag = True
        Close() '退出系統
    End Sub
    Private Sub 關(guān)于ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 關(guān)于ToolStripMenuItem.Click
        'System.Diagnostics.Process.Start("Explorer", "http:\\www.hotpage.net.cn")'運行IE
        System.Diagnostics.Process.Start("http:\\www.hotpage.net.cn") '自動(dòng)啟動(dòng)IE
    End Sub
    Private Sub 我不會(huì )VBToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 我不會(huì )VBToolStripMenuItem.Click
        System.Diagnostics.Process.Start("http:\\www.hotpower.org") '自動(dòng)啟動(dòng)IE
    End Sub
    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
    End Sub
End Class









您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页