日期:2014-05-18  浏览次数:21017 次

谁能告诉我Winform这个SIZE问题怎么解决呀?
C# code

// 下面这段是当我触发一个事件时执行,更换sp的背景图和窗体SIZE
SysPrompt sp = new SysPrompt();//SysPrompt是一个窗体,这个窗体只有一个默认背景图,大小是500*500的窗体
sp.Show(); //窗体显示
sp.Size = new System.Drawing.Size(200,400);         // 这三个同时设置才能更改窗体大小
sp.MaximumSize = new System.Drawing.Size(200,400);  // 这三个同时设置才能更改窗体大小
sp.MinimumSize = new System.Drawing.Size(200,400);  // 这三个同时设置才能更改窗体大小
sp.BackgroundImage = global::PCMainForms.Properties.Resources.发送弹出msn; //更换背景图

//现在的问题是我触发事件时,他会先把窗体Show出来,
//但是show出来的时候这个窗体会显示500*500的默认图背景的窗体,
//然后执行后面的设置SIZE和更换背景图,所以每次执行的时候会闪一下,
//大家懂我意思把,就是从500*500默认背景图瞬间变成200*400的发送弹出msn的背景图的窗体,
//烦人的是设置窗体SIZE必须在show后面执行才管用,在show之前是不管用的,
//所以请教大家怎么设置SIZE才能不让他闪那么一下,
//有办法在show之前就能更改size么?或者其他什么办法??
// 如果有没说清楚的我补充!



------解决方案--------------------
C# code
SysPrompt sp = new SysPrompt();//SysPrompt是一个窗体,这个窗体只有一个默认背景图,大小是500*500的窗体
sp.MinimumSize = new System.Drawing.Size(200,400); // 这三个同时设置才能更改窗体大小
sp.Size = new System.Drawing.Size(200,400); // 这三个同时设置才能更改窗体大小
sp.MaximumSize = new System.Drawing.Size(200,400); // 这三个同时设置才能更改窗体大小
sp.BackgroundImage = global::PCMainForms.Properties.Resources.发送弹出msn; //更换背景图
sp.Show(); //窗体显示

------解决方案--------------------
探讨
把show放到后面,这么死心眼呢