项目中要用图形来显示一个阀门的开度,以及控制阀的开度.本来是要用什么公司买的控件中的饼图之类的实现,不过我觉得也是麻烦,就想,还是自己画吧.
首先添加一个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.Height = 100
Next
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString ◆ "%"
到此以及可以实现拉动条的时候,图像跟着变化,并显示百分比.
代码:
Public?Class?Form1
'*********************************************************************?
'如有疑问或好的建议请联系我,大家一起进步??
'*********************************************************************??
'绘制圆角矩形函数
rect.Offset(-1,?-1)
Dim?RoundRect?As?New?Rectangle(rect.Location,?New?Size(radius?-?1,?radius?-?1))
RoundRect.X?=?rect.Right?-?radius?'右上角
RoundRect.Y?=?rect.Bottom?-?radius?'右下角
RoundRect.X?=?rect.Left???'左下角
path.CloseFigure()
Return?path
End?Function
'绘制矩形
Private?Sub?DrawingRect()
Dim?g?As?Graphics?=?Me.CreateGraphics
Dim?Hei?As?Integer?=?Me.Height
Dim?Wid?As?Integer?=?Me.Width
'矩形的位置和长宽随着窗体的变化而改变
'?g.DrawRectangle(Pen,?Rec)
'清楚现有的矩形
g.Clear(Me.BackColor)
End?Sub
Private?Sub?Form1_Paint(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?MyBase.Paint
DrawingRect()
Private?Sub?Form1_SizeChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.SizeChanged
Me.Invalidate()?'此函数可引发Paint事件
End?Class
效果截图:
原窗口:
缩小后:
VB.net与VB不同.
VB.net已经有专门绘图的类.
可以定义笔刷然后用Drawing类中的方法绘制.
Private Sub DrawEllipse()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
myPen.Dispose()
formGraphics.Dispose()
Private Sub DrawRectangle()
你去查查书吧,书上挺详细的,在这说不好说,你先在项目里引用.然后 Dim acadapp As AcadApplication Dim acaddoc As AcadDocument On Error Resume Next AcadApp = GetObject(, "AutoCAD.Application") If Err.Number Then Err.Clear() AcadApp = CreateObject("AutoCAD.Application") If Err.Number Then MsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD") Exit Sub End If End If AcadApp.Visible = True '界面可视
数学上不是有斜二测画法,算好坐标即可画出
或者用AnyCAD的.Net图形控件
也可以调用matlab 实现
以上就是土嘎嘎小编为大家整理的vb.net绘图应用相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!