vb.net重画,vbnet重画Form窗体

在vbnet中,我在picturebox里面画线,用滚动条拉动picturebox显示最新画出的图

vb.net没有自动重画功能,要在Paint事件中写代码对图形重画。

创新互联公司是专业的瑞昌网站建设公司,瑞昌接单;提供成都网站设计、做网站、成都外贸网站建设公司,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行瑞昌网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

另外一种情况,如果在Image属性设置了一幅图像,图像能够保持完整性的。所以你可以把图形绘在位图上,把位图绑定到Image属性上。

先绑定一幅位图:

Dim bm as New BitMap(800,600)

PictureBox1.Image=bm

作图时不是对图片框,而是在位图上作图。

dim gr As Grapthics=Graphics.FromImage(bm) '建立位图的绘图设备

接下来就可用gr 的绘图方法作图

作完图,PictureBox1.Refresh 刷新一下。

VB.Net如何实现抠图并绘图

项目中要用图形来显示一个阀门的开度,以及控制阀的开度。本来是要用什么公司买的控件中的饼图之类的实现,不过我觉得也是麻烦,就想,还是自己画吧。

首先添加一个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

到此以及可以实现拉动条的时候,图像跟着变化,并显示百分比。

VB.NET怎么重绘?

新建一个Winform,在和Form1平行的位置粘贴如下代码

Public Class MyLabel

Inherits Label

Protected Overrides Sub OnPaint(e As PaintEventArgs)

e.Graphics.DrawEllipse(New Pen(Color.Red), New Rectangle(2, 2, 10, 10))

MyBase.OnPaint(e)

End Sub

End Class

运行,停掉,在工具箱找到MyLabel,拖动就可以看到效果。这只是最基本的重写,要模仿QQ还需要其他技术以及美工。

vb.net 绘图,重绘知识

继承(Inherits)控件就可以重写它的属性和方法,图标可以在paint中重绘,用gdi,工具主要在drawing和drawing2d中。

combobox弹出的框增加图标吗?个人看法可能需要得到那个句柄,才可以重绘,但那个好像是一体的,不知道能不能弄到句柄。

textbox可以自定义高度。只是以行高度为单位,改变字体大小即可,没必要重写吧。

我也自学,感觉基础容易学,进阶资料少。循序渐进也没序可循,基本是在摸索。

都是想到什么问题,就立下一个目标,然后攻破他,结果可能是尝试几天后,发现目标超出能力范围。

晦涩是相对的,实践出真知,多动手,基础就好了。


文章标题:vb.net重画,vbnet重画Form窗体
文章分享:http://pwwzsj.com/article/dssijpi.html