private void ClickOk(int ABC)
{
PicBox.ImageLocation = @"images\"+ABC+".jpg";
PicBox.Show();
int FormHeight = PicBox.Height + 60;
this.Size = new System.Drawing.Size(123, FormHeight);
}
窗体设计:picbox初始height=100,sizemode=autosize.希望的效果是:如果ABC.jpg的height是200,那么ClickOk后form的height应该是260。如此重复但是我运行下来,每次都是第一次ClickOk后FormHeight是160(获取的是初始值),第二次ClickOk后才变成260。如果我每次传如的ABC是尺寸不同的图片,那么FORM的SIZE变化都是根据前一张图片的height在变,而不是当前这张。
能帮我解决下吗
{
PicBox.ImageLocation = @"images\"+ABC+".jpg";
PicBox.Show();
int FormHeight = PicBox.Height + 60;
this.Size = new System.Drawing.Size(123, FormHeight);
}
窗体设计:picbox初始height=100,sizemode=autosize.希望的效果是:如果ABC.jpg的height是200,那么ClickOk后form的height应该是260。如此重复但是我运行下来,每次都是第一次ClickOk后FormHeight是160(获取的是初始值),第二次ClickOk后才变成260。如果我每次传如的ABC是尺寸不同的图片,那么FORM的SIZE变化都是根据前一张图片的height在变,而不是当前这张。
能帮我解决下吗
解决方案 »
- VS2005 word外接程序
- There is no row at position 0.盼望过路大虾搭救!
- timer控件怎么让它只刷新数据库里面最新的一些数据
- 怎样用C#在程序窗口中显示操作示意图?
- DataList可以指定数据项的位置吗?
- DataSet向excl导出数据,简单问题
- c#基础问题-关于new与override
- 那里有编类似cakewalk(midi制作)软件的资料
- 谁帮我写关于窗体退出时,窗体(具有动画效果)的大小逐渐缩小最后消失的代码。
- C#如何实现大图片(2000*32767象素)的打印呢?
- c#中如何将字符型的“05:30:00”转化为时间型的?急!在线等!
- 这么做不对吗?为什么不对?private func(int[5] parra) {......}
int FormHeight = PicBox.Height + 60;
this.Size = new System.Drawing.Size(123, FormHeight);
我把上面代码放到PicBox的sizechange事件内就解决了.
但是还是不太理解上面这样的错误原理
private void ClickOk(int ABC)
{
PicBox.ImageLocation = @"images\"+ABC+".jpg";
PicBox.Show();
int FormHeight = PicBox.Height + 60;
this.Size = new System.Drawing.Size(123, FormHeight);
this.Refresh();//强制控件使其工作区无效并立即重绘自己和任何子控件
}
试过了,加了Refresh,还是老样子.