項目中要用圖形來顯示一個閥門的開度,以及控制閥的開度。本來是要用什么公司買的控件中的餅圖之類的實現,不過我覺得也是麻煩,就想,還是自己畫吧。 首先添加一個TrackBar,名字是“TrackBar1”,一個label,名字是“L_A_SHANG”,一個GroupBox,名字是“GB_RIGHT”,,然后添加拉動滾動條時的處理函數 '上位機控制 Dim m_start As Integer Dim RcDraw As System.Drawing.Rectangle Private Sub TrackBar1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll m_start = (100 - TrackBar1.Value) Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString GB_RIGHT.Invalidate() '重畫GB_RIGHT End Sub
添加GB_RIGHT重畫時的處理函數 Private Sub GB_RIGHT_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles GB_RIGHT.Paint RcDraw.X = TrackBar1.Location.X - 40 RcDraw.Y = 20 RcDraw.Height = 100 RcDraw.Width = 20 e.Graphics.DrawRectangle(New Pen(Color.Blue, 5), RcDraw) Dim i = TrackBar1.Location.X - 40 For i = TrackBar1.Location.X - 40 To TrackBar1.Location.X - 20 e.Graphics.DrawLine(New Pen(Color.Blue, 5), i, m_start + 20, i, 120) Next Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString + "%" End Sub 到此以及可以實現拉動條的時候,圖像跟著變化,并顯示百分比。
|