c# 改变panel大小的问题

ironhx 2010-07-10 11:16:58
c#中,初始化一个panel大小为(10,10),绘制一张大小为(20X20)的图片在panel上,屏幕会显示图片10X10的大小,我点击“扩大”按钮,执行panel.Width = 20,panel.Height= 20,重新图片,发现绘制的区域仍然是10x10的区域,并不是20x20。
(图片大小绝对大于10*10),而且扩大以后重新绘制过。
...全文
849 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ironhx 2010-07-10
  • 打赏
  • 举报
回复
/**绘制*/
private void panel_back_Paint(object sender, PaintEventArgs e)
{

repaint_mainpanel();

}
/**最终绘制*/
private void repaint_mainpanel()
{
if(img != null)
g.DrawImage(img, 0, 0, img.Width, img.Height);

// panel_back.Paint();
}

/**确定按钮, 改变了panel的大小 ,并且重新绘制*/
private void change_size_Click(object sender, EventArgs e)
{
if (panel_back.Width == 100)
{
panel_back.Width = 200;
panel_back.Height = 200;


}
else
{
panel_back.Width = 100;
panel_back.Height = 100;
}

repaint_mainpanel();


}

贴上代码,大家看看,的确画不出来
xwdd129 2010-07-10
  • 打赏
  • 举报
回复
应该是绘图坐标的问题,没有取得正确的坐标和尺寸
ironhx 2010-07-10
  • 打赏
  • 举报
回复
谢谢大家,找到问题了,是画笔没有重新设置。画笔默认的还是原来的绘制范围
jsonzbc 2010-07-10
  • 打赏
  • 举报
回复
在改变之前先判断下panel里有没有图像,有就释放panel的资源然后再重新绘制...
allen3010 2010-07-10
  • 打赏
  • 举报
回复
学习来来哦
WTPMCheng 2010-07-10
  • 打赏
  • 举报
回复
删除之前生成的PANEL 然后再重绘改变大小的panel

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧