picturebox控件无法刷新解决办法
picturebox控件无法刷新
由于显示动态图形的闪烁问题,采用以下方法:
Dim bmp As Bitmap = New Bitmap(1050, 300)
Dim g As Graphics
Dim pen1 As System.Drawing.Pen
g = Graphics.FromImage(bmp)
pen1 = New System.Drawing.Pen(Color.Green, 2)
循环开始
。。。
之间是x y的赋值
。。。
g.DrawLine(pen1, x1, y1, x2, y2)
PictureBox1.Image = bmp
循环结束
结果画出来的图形全部叠加在一起,我要的是每画一次图形显示在picturebox上且下次显示时消除上一次的显示的图形
picturebox.Refresh() 不起作用
.dispose()也不好使
求高手解答
------解决方案--------------------
由于显示动态图形的闪烁问题,采用以下方法:
Dim bmp As Bitmap = New Bitmap(1050, 300)
Dim g As Graphics
Dim pen1 As System.Drawing.Pen
g = Graphics.FromImage(bmp)
pen1 = New System.Drawing.Pen(Color.Green, 2)
循环开始
。。。
之间是x y的赋值
。。。
g.DrawLine(pen1, x1, y1, x2, y2)
PictureBox1.Image = bmp
循环结束
结果画出来的图形全部叠加在一起,我要的是每画一次图形显示在picturebox上且下次显示时消除上一次的显示的图形
picturebox.Refresh() 不起作用
.dispose()也不好使
求高手解答
------解决方案--------------------
- C# code
private void button1_Click(object sender, EventArgs e) { Bitmap bmp = new Bitmap(400, 300); Graphics g = Graphics.FromImage(bmp); Pen pen1 = new Pen(Color.Green, 2); for (int i = 0; i < 100; i++) { g.Clear(pictureBox1.BackColor); g.DrawLine(pen1, i, 0, i, i); } pictureBox1.Image = bmp; }
------解决方案--------------------
- C# code
public partial class Form1 : Form { public int x = 50; public int y = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; } private void timer1_Tick(object sender, EventArgs e) { x--; y++; Bitmap bmp = new Bitmap(400, 300); Graphics g = Graphics.FromImage(bmp); Pen pen1 = new Pen(Color.Green, 2); g.Clear(pictureBox1.BackColor); g.DrawLine(pen1, 0, 0, x, y); pictureBox1.Image = bmp; } }