C# Winfrom 多个Form窗体之间切换过程中实现过渡效果

sxl_88 2015-03-09 08:09:35
在C# Winfrom项目中,有一个三个Form窗体(from1、from2、from3)。
在form1窗体中有一个定时器Timer控件中,Timer控件主是实现每隔1分钟轮流显示from2窗体和from3窗体。

目前想实现from2窗体切换到显示from3窗体之前过添加一个过渡的效果,同理from3窗体切换到显示from2窗体之前过添加一个过渡的效果。这种功能有点类似在网页中进度条达到的效果。

请问如何实现上面功能需求,最好提供下相关的参考资料或DEMO。谢谢!
...全文
933 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
alex_suen 2015-03-13
  • 打赏
  • 举报
回复
引用 4 楼 sxl_88 的回复:
[quote=引用 3 楼 s_521_h 的回复:] 不明白为什么要这么干,楼主是否可以说下
为了窗体A切换到显示窗体B之前,增加切换过度的效果,增强用户体验的效果; 有没有更好的这种效果的推荐?[/quote] 推荐#5和#6的做法,使用GDI+吧
alex_suen 2015-03-10
  • 打赏
  • 举报
回复
不明白为什么要这么干,楼主是否可以说下
群落此处 2015-03-10
  • 打赏
  • 举报
回复
对 楼上的办法才是解决之道 ////动画——窗体向下拖拉 // AnimateWindow(this.Handle, 500, AW_SLIDE | AW_ACTIVATE | IsHorOrVer(0)); ////动画——窗体淡出特效 //AnimateWindow(this.Handle, 500, AW_BLEND | AW_HIDE | IsHorOrVer(1)); ////动画——窗体淡入特效 // AnimateWindow(this.Handle, 1000, AW_BLEND | AW_ACTIVATE | IsHorOrVer(0)); ////动画——窗体由四周向中心缩小直至消失 //AnimateWindow(this.Handle, 1000, AW_CENTER | AW_HIDE | IsHorOrVer(1)); ////动画——窗体由中心向四周扩展 //AnimateWindow(this.Handle, 1000, AW_CENTER | AW_ACTIVATE | IsHorOrVer(0));
zhou23141622 2015-03-10
  • 打赏
  • 举报
回复
淡入淡出呗,有个api,百度下就行
exception92 2015-03-10
  • 打赏
  • 举报
回复
在窗体 show之前 弹出一个窗口用于显示进度条,然后让 线程Sleep 个2秒或者3秒,就达到了切换等待的效果。
sxl_88 2015-03-10
  • 打赏
  • 举报
回复
引用 3 楼 s_521_h 的回复:
不明白为什么要这么干,楼主是否可以说下
为了窗体A切换到显示窗体B之前,增加切换过度的效果,增强用户体验的效果; 有没有更好的这种效果的推荐?
devmiao 2015-03-09
  • 打赏
  • 举报
回复
用定时器改变Opacity属性。
mytown2 2015-03-09
  • 打赏
  • 举报
回复
可以再增加一个Form 这个form就做成进度条效果, 从form1调用form2时 先调用这个进度条form 然后再由进度条form调用form2咯 form2调用form3 同理咯

110,535

社区成员

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

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

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