winform窗体如何逐渐变大

KxdZhao 2010-07-19 10:15:37
就是当载入后

比如说我单击某个按钮 窗体 从最初的 100,100 变大到500,500
这个过程是逐渐变大的 怎么实现啊??
...全文
351 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hemingway_Brian 2010-07-19
  • 打赏
  • 举报
回复
chenxicheng 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 hiddkiller 的回复:]
C# code

for (int i = 100; i < 501; i += 5)
{
this.Size = new Size(i,i);
System.Threading.Thread.Sleep(20);

}
[/Quote]

简洁方便呵呵
不过请教下(本人小白)
sleep()中是不是什么事都做不了?
spmzfz 2010-07-19
  • 打赏
  • 举报
回复

this.SetBounds(0, 0, 100, 100);
while (this.Width <500 && this.Height <500)
{
Application.DoEvents();
System.Threading.Thread.Sleep(1);

this.SetBounds(0, 0, ++this.Width, ++this.Height);
//Console.WriteLine(this.Width + " " + this.Height);
}
hiddkiller 2010-07-19
  • 打赏
  • 举报
回复

for (int i = 100; i < 501; i += 5)
{
this.Size = new Size(i,i);
System.Threading.Thread.Sleep(20);

}
xunzhaohexie1 2010-07-19
  • 打赏
  • 举报
回复
你如果真想做效果,,建议使用 窗口颤抖,,和 使用 透明度 在程序内使用 Thread.Sleep(20) 类似这种循环,,来达到 逐渐缩小或扩散 并且控制窗体透明度,,,也能达到类似 jquerry 关闭窗口的效果,也很好看,,,
xunzhaohexie1 2010-07-19
  • 打赏
  • 举报
回复
我刚做过这个,,建议你别做了,,机器好的可以跑,,确实行,我的工作机器4核 跑起来逐渐变大效果一点不会卡的,,,但是你要考虑到你做这个是给谁用,,,我做出来给同事用 窗口颤抖 没问题,,不卡,,但是使用 Timer 是非常浪费资源的一个东西,,,我的同事20多台电脑 能不卡跑起来的 不超过15个,,他们的电脑确实不是很好,,但没办法 逐渐扩散效果 你的事件周期最好是在 20 30 左右 50 和100就会看到画面不流畅,,,但如果是 20 30 稍微差点的电脑又会很卡,,,哎,,总之很郁闷,,
因为 SIZE 大小的改变涉及到一个 窗体他会重画的问题 又用 timer 确实不是一个很好的选择,,
倒霉熊 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 neil198 的回复:]
用Thread或者timer来修改form.size
[/Quote]

timer来修改form.size
  • 打赏
  • 举报
回复
timer控件吧
jianuMan 2010-07-19
  • 打赏
  • 举报
回复
以窗体中间 为中心点 算出新的 窗体的左上角坐标 和 窗体大小
设置给窗体 再Sleep(50)
一直到窗体大小为你需要的大小
NDDavid 2010-07-19
  • 打赏
  • 举报
回复
timer控件
KxdZhao 2010-07-19
  • 打赏
  • 举报
回复
....试试!!

jzz870519 2010-07-19
  • 打赏
  • 举报
回复
用timer控件 修改窗体大小
goback1999 2010-07-19
  • 打赏
  • 举报
回复
timer控件,双击这个控件,在事件里写对应的方法,from的size根据你的意思来改变
ngdh83 2010-07-19
  • 打赏
  • 举报
回复
七十二变
mayonglong 2010-07-19
  • 打赏
  • 举报
回复
time_Tick()
{
//
Form.Size=new Size(300,300);

Thread.Sleep(1000);

//
}
捷哥1999 2010-07-19
  • 打赏
  • 举报
回复
设置一个timer,这个timer1秒钟,增加一点Form的大小,例如:
Form1.Width+=2;
Form1.height+=2;
summer_wish 2010-07-19
  • 打赏
  • 举报
回复
用循环使边框逐渐加减。
Neil198 2010-07-19
  • 打赏
  • 举报
回复
用Thread或者timer来修改form.size
卧_槽 2010-07-19
  • 打赏
  • 举报
回复
跟我念,如意金箍棒,变大,变大,变长,变长。
mayonglong 2010-07-19
  • 打赏
  • 举报
回复
你是孙猴子啊~
加载更多回复(1)

110,534

社区成员

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

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

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