Dispose 不是把目标销毁么?
代码贴上:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace Dispose销毁目标
{
public partial class Form1 : Form
{
Point start, end;
bool mousedown = false;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (mousedown)
{
Bitmap bmp = new Bitmap(this.Width, this.Height);
Graphics gr = Graphics.FromImage(bmp);
//Graphics gr = this.CreateGraphics();
gr.DrawRectangle(new Pen(Color.Red),start.X,start.Y,e.X-start.X,e.Y-start.Y);
Graphics tg = this.CreateGraphics();
tg.DrawImage(bmp, 0, 0);
gr.Dispose();
}
} private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mousedown = true;
start = new Point(e.X, e.Y);
} private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mousedown = false;
end = new Point(e.X, e.Y);
Graphics gr = this.CreateGraphics();
gr.DrawRectangle(new Pen(Color.Black), start.X, start.Y, end.X - start.X, end.Y - start.Y);
}
}
}
就是想在背景图片上画一个“橡皮”矩形啊,
能随鼠标动的那样。我创建bmp 画矩形 销毁 鼠标move 再画 上次画的依旧在啊 可是我销毁了啊怎么还有
代码贴上:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace Dispose销毁目标
{
public partial class Form1 : Form
{
Point start, end;
bool mousedown = false;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (mousedown)
{
Bitmap bmp = new Bitmap(this.Width, this.Height);
Graphics gr = Graphics.FromImage(bmp);
//Graphics gr = this.CreateGraphics();
gr.DrawRectangle(new Pen(Color.Red),start.X,start.Y,e.X-start.X,e.Y-start.Y);
Graphics tg = this.CreateGraphics();
tg.DrawImage(bmp, 0, 0);
gr.Dispose();
}
} private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mousedown = true;
start = new Point(e.X, e.Y);
} private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mousedown = false;
end = new Point(e.X, e.Y);
Graphics gr = this.CreateGraphics();
gr.DrawRectangle(new Pen(Color.Black), start.X, start.Y, end.X - start.X, end.Y - start.Y);
}
}
}
就是想在背景图片上画一个“橡皮”矩形啊,
能随鼠标动的那样。我创建bmp 画矩形 销毁 鼠标move 再画 上次画的依旧在啊 可是我销毁了啊怎么还有
贴一下吧
给自己挣点可用分吧 快没了
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace Dispose销毁目标
{
public partial class Form1 : Form
{
Rectangle rect = System.Windows.Forms.SystemInformation.VirtualScreen;
Bitmap bmp;
Point start, end;
bool mousedown = false;
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
bmp = new Bitmap(rect.Width, rect.Height);
Graphics g=Graphics.FromImage(bmp);
g.CopyFromScreen(0, 0, 0, 0, bmp.Size);
g.Dispose();
this.BackgroundImage = bmp;
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (mousedown)
{
Bitmap thisbmp = (Bitmap)bmp.Clone();
Graphics tg = Graphics.FromImage(thisbmp);
tg.DrawRectangle(new Pen(Color.Black), start.X, start.Y, e.X - start.X, e.Y - start.Y);
tg.Dispose();
Graphics g = this.CreateGraphics();
g.DrawImage(thisbmp, 0, 0);
g.Dispose();
}
} private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mousedown = true;
start = new Point(e.X, e.Y);
} private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mousedown = false;
end = new Point(e.X, e.Y);
Graphics gr = this.CreateGraphics();
gr.DrawRectangle(new Pen(Color.Blue), start.X, start.Y, end.X - start.X, end.Y - start.Y);
}
}
}