⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmviewer.vb

📁 VB开发的股票软件
💻 VB
字号:


Public Class frmViewer

    Dim tempIntClick As Int16 = 0
  

#Region "Load/Close/Unload"


    'Load
    Private Sub frmViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'update the display...
        PopulateFormFromConfig(newConfig)
        ViewInit()
    End Sub

    'CLose
    Private Sub frmViewer_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If e.CloseReason = CloseReason.UserClosing Then
            Me.Visible = False
            e.Cancel = True
        End If
    End Sub

    'End
    Private Sub ExitToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        'copy the values
        pMainOpacity = Me.HScrollBarMain.Value
        pWebSite = Trim(Me.cmbWebSite.Text)
        pCurrentStockCode = Trim(Me.cmbStockCode.Text)
        PopulateConfigFromForm(newConfig)
        'save the configinfo
        newConfig.Save(filename)
        Me.Close()
        newConfig = Nothing

        Application.Exit()
        'End
    End Sub
#End Region

#Region "IconClick"

    'IconClick
    Private Sub NotifyIcon1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Me.Visible = Not Me.Visible
            Me.Activate()
        End If
    End Sub

#End Region


    '数据更新
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Call getStockCodePNG()
    End Sub

    'Opacity adjust
    Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBarMain.Scroll
        Me.Opacity = HScrollBarMain.Value / 100
    End Sub

    Private Sub PictureBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
        Me.Visible = False
    End Sub

#Region "ToostripMenuItem"

    Private Sub cmbWebSite_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbWebSite.TextChanged
        pWebSite = cmbWebSite.Text
        Call getStockCodePNG()
    End Sub

    '选股更新
    Private Sub cmbStockCode_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbStockCode.TextChanged
        pCurrentStockCode = Microsoft.VisualBasic.Left(Trim(Me.cmbStockCode.Text), 6)
        Call getStockCodePNG()
        Call getStockCodePrice()
        Panel3.BringToFront()
        tempIntClick = 0
    End Sub

#End Region

#Region "ContextMenuStrip1"

    Private Sub SetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        frmSetting.Show()
    End Sub
    Private Sub AboutToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
        frmAbout.ShowDialog()
    End Sub

    Private Sub ShowToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShowToolStripMenuItem.Click
        If Me.Visible = False Then
            ShowToolStripMenuItem.Text = "隐藏界面"
            Me.Show()
            Me.Activate()

        ElseIf Me.Visible = True Then
            ShowToolStripMenuItem.Text = "显示界面"
            Me.Visible = False
        End If
      
    End Sub

    Private Sub SetToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetToolStripMenuItem.Click
        frmSetting.ShowDialog()
    End Sub
#End Region


#Region "Function"
    'Init
    Public Sub ViewInit()
        Me.KeyPreview = True
        Me.NotifyIcon1.Icon = My.Resources.F

        Me.Timer1.Interval = pMainRefreshTime
        Me.HScrollBarMain.Value = pMainOpacity

        Me.Opacity = pMainOpacity / 100
        Me.cmbWebSite.Text = pWebSite
        Me.TopMost = pIsTop

        Select Case pIco
            Case "A"
                Me.NotifyIcon1.Icon = My.Resources.A
            Case "B"
                Me.NotifyIcon1.Icon = My.Resources.B
            Case "C"
                Me.NotifyIcon1.Icon = My.Resources.C
            Case "D"
                Me.NotifyIcon1.Icon = My.Resources.D
            Case "E"
                Me.NotifyIcon1.Icon = My.Resources.E
            Case "F"
                Me.NotifyIcon1.Icon = My.Resources.F
        End Select

        Call UpdateCmbStockCode()
        Me.cmbStockCode.Text = pCurrentStockCode

        Call getStockCodePNG()
        Call getStockCodePrice()
    End Sub

    'getStockCodePNG
    Public Sub getStockCodePNG()
        Select Case pWebSite
            Case "金融界"
                PictureBox1.ImageLocation = "http://chart.jrj.com.cn/htmdata/gif/" & pCurrentStockCode & ".png"
            Case "搜狐"
                'PictureBox1.ImageLocation = " http://chart.stock.sohu.com/chart/bf/1/000100.png?20070516113001"
            Case "网易"
                PictureBox1.ImageLocation = "http://chart.jrj.com.cn/htmdata/gif/" & pCurrentStockCode & ".png"
            Case "和讯"
                PictureBox1.ImageLocation = "http://chart.jrj.cocn/htmdata/gif/" & pCurrentStockCode & ".png"
        End Select
    End Sub

    'getStockCodeDayPNG
    Public Sub getStockCodeDayPNG()

        Select Case pWebSite
            Case "金融界"
                PictureBox1.ImageLocation = "http://chart.jrj.com.cn/htmdata/KLINE/" & pCurrentStockCode & ".png"
            Case "搜狐"
                'PictureBox1.ImageLocation = " http://chart.stock.sohu.com/chart/bf/1/000100.png?20070516113001"
            Case "网易"
                PictureBox1.ImageLocation = "http://chart.jrj.com.cn/htmdata/gif/" & pCurrentStockCode & ".png"
            Case "和讯"
                PictureBox1.ImageLocation = "http://chart.jrj.cocn/htmdata/gif/" & pCurrentStockCode & ".png"
        End Select
    End Sub


    'getStockCodePrice
    Public Sub getStockCodePrice()

        Select Case pWebSite
            Case "金融界"
                WebBrowser1.Navigate("http://quote.jrj.com.cn/htmdata/price_ggda2.asp?code= " & pCurrentStockCode)
            Case "搜狐"
                '    PictureBox1.ImageLocation = " http://chart.stock.sohu.com/chart/bf/1/000100.png?20070516113001"
                'Case "网易"
                '    PictureBox1.ImageLocation = "http://chart.jrj.com.cn/htmdata/gif/" & pCurrentStockCode & ".png"
                'Case "和讯"
                '    PictureBox1.ImageLocation = "http://chart.jrj.cocn/htmdata/gif/" & pCurrentStockCode & ".png"
        End Select
    End Sub


    'getStockCodePrice
    Public Sub getStockCodeTradeDetail()

        Select Case pWebSite
            Case "金融界"
                WebBrowser1.Navigate("http://person.jrj.com.cn/data/deal0/" & pCurrentStockCode & ".html")
            Case "搜狐"
                '    PictureBox1.ImageLocation = " http://chart.stock.sohu.com/chart/bf/1/000100.png?20070516113001"
                'Case "网易"
                '    PictureBox1.ImageLocation = "http://chart.jrj.com.cn/htmdata/gif/" & pCurrentStockCode & ".png"
                'Case "和讯"
                '    PictureBox1.ImageLocation = "http://chart.jrj.cocn/htmdata/gif/" & pCurrentStockCode & ".png"
        End Select
    End Sub


    'Update Code To Combbox
    Public Sub UpdateCmbStockCode()
        Me.cmbStockCode.Items.Clear()

        Dim reader As System.Xml.XmlReader = Nothing
        Try
            reader = New Xml.XmlTextReader(Environment.CurrentDirectory & "\data\StockCode.xml")
            While reader.Read
                'Me.lboxXml.Items.Add(reader.AttributeCount)
                If reader.Name = "Stock" And reader.AttributeCount = 3 Then
                    If (reader.GetAttribute("IsUserStock") = "true") Then
                        Me.cmbStockCode.Items.Add(reader.GetAttribute("Code") & " " & reader.GetAttribute("Name"))
                    End If
                End If
            End While
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub


    Private Function IconTextRefresh(ByVal pStockInfo() As String) As String
        Dim pStockCode As String
        Dim pDay As String
        Dim pTime As String
        Dim pTrade As String
        Dim pUpDown As String
        Dim pRange As String

        pStockCode = pStockInfo(0)
        pStockCode = Microsoft.VisualBasic.Right(pStockCode, 6)  'StockCode

        pDay = pStockInfo(1)                'day    
        pTime = pStockInfo(2)               'time
        pTrade = pStockInfo(3)              'price
        pUpDown = pStockInfo(5)             'pUpDown
        pRange = pStockInfo(6)              'pRange

        NotifyIcon1.Text = "[" & pStockCode & "] [" & pTime & "]" & vbCrLf & "成交:" & pTrade & " " & "涨跌:" & pUpDown & " " & "幅度:" & pRange & "%"
        IconTextRefresh = "[" & pStockCode & "] [" & pTime & "]" & vbCrLf & "成交:" & pTrade & " " & "涨跌:" & pUpDown & " " & "幅度:" & pRange & "%"
        ToolStripStatusLabel1.Text = "[" & pStockCode & "] [" & pTime & "]" & "    " & "成交:" & pTrade & " " & "涨跌:" & pUpDown & " " & "幅度:" & pRange & "%"

    End Function

#End Region

    Private Sub Panel1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Panel1.Click
        Select Case tempIntClick
            Case 0
                Call getStockCodeDayPNG()
                Panel3.BringToFront()
                tempIntClick += 1
            Case 1
                Call getStockCodePrice()
                Panel2.BringToFront()
                PictureBox1.ImageLocation = "" '数据更新图片
                tempIntClick += 1
            Case 2
                getStockCodeTradeDetail()
                Panel2.BringToFront()
                tempIntClick += 1

                'Case 3
                '    Panel2.BringToFront()
                '    tempIntClick += 1
            Case 3
                Call getStockCodePNG()
                Panel3.BringToFront()
                WebBrowser1.Navigate("")
                tempIntClick = 0
        End Select
    End Sub


    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Dim doc As HtmlDocument
        Dim Tables As HtmlElementCollection
        Dim tmpString As String
        Dim tempStockInfo() As String


        doc = WebBrowser1.Document
        Tables = doc.GetElementsByTagName("table")
        tmpString = Tables.Item(1).GetElementsByTagName("TR").Item(0).GetElementsByTagName("td").Item(0).InnerHtml

        tempStockInfo = Split(tmpString, ",")
        Call IconTextRefresh(tempStockInfo)

    End Sub

    
    
    Private Sub SelSetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelSetToolStripMenuItem.Click
 
    End Sub

    Private Sub frmViewer_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Left And e.Control Then
            If Me.HScrollBarMain.Value >= 99 Then
                Me.HScrollBarMain.Value = 104
            Else
                Me.HScrollBarMain.Value = Me.HScrollBarMain.Value + 5
            End If
            Me.Opacity = HScrollBarMain.Value / 100
        ElseIf e.KeyCode = Keys.Right And e.Control Then
            If Me.HScrollBarMain.Value <= 6 Then
                Me.HScrollBarMain.Value = 1
            Else
                Me.HScrollBarMain.Value = Me.HScrollBarMain.Value - 5
            End If
            Me.Opacity = HScrollBarMain.Value / 100
        End If
    End Sub


End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -