项目中要用图形来显示一个阀门的开度,以及控制阀的开度。本来是要用什么公司买的控件中的饼图之类的实现,不过我觉得也是麻烦,就想,还是自己画吧。 首先添加一个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 到此以及可以实现拉动条的时候,图像跟着变化,并显示百分比。
|