关于c#双缓冲作图的问题

在利用双缓冲作图之中,所得的图像需要拉大或缩小窗口才能显示出来。。求解释空间panel中的程序privatevoidpanel1_Paint(objectsender,P... 在利用双缓冲作图之中,所得的图像需要拉大或缩小窗口才能显示出来。。求解释
空间panel中的程序
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = panel1.CreateGraphics();
g.DrawImage(bit, 0, 0);
g.Dispose();
}
有一个空间button
程序aphics g = Graphics.FromImage(bit);
g.Clear(Color.FromArgb(255, 255, 255));
Pen pen = new Pen(Color.Black, 1);
g.DrawLine(pen, 0, 0, 170, 240);
g.Dispose ();
form中的load
private void Form1_Load(object sender, EventArgs e)
{
bit = new Bitmap(400, 300);
}
急。。在线等
展开
 我来答
百度网友d242235
2011-05-11 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:814万
展开全部
Paint事件作如下修改:
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawImage(bit, 0, 0);
g.Dispose();
}

知道为什么图像需要拉拽才能显示么?Graphics是个临时对象,每次绘图都会产生一个Graphics,所以你只能从事件参数PaintEventArgs中取得Graphics.这样能保证每次得到的Graphics都是最新的。
追问
改了之后也不对啊。。
追答
晕啊,哪里不对,你跟一下代码把错误发出来看看啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
137025866
2011-05-10 · 超过24用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:38.2万
展开全部
在Button事件中添加panel1.Invalidate();
使这个窗体无效导致重绘!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式