您好。我看了dotnetbar关于winform的全部控件,里面有的是各种各样的漂亮的控件。但并没有图片或者窗体切换特效啊。是不是我没找到?

解决方案 »

  1.   

    VB.NET的仿手机的滑屏缩放的要不要,要的话晚上给你.
      

  2.   

    谢谢两位,我在示例中只看到了Metro Bill,但还是感觉窗体切换比较简单。我想实现的窗体切换效果类似于 ppt的幻灯片切换。http://transitionals.codeplex.com/ 这里的效果很不错。但是却是wpf的。我想找winform下这样的效果的代码。谢谢了。
      

  3.   

    你可以调用WindowsAPI,下面是一个例子,你试试。
    在这个例子的基础上,你可以通过Timer或者控制Form的透明度来实现你想要的效果。
    [System.Runtime.InteropServices.DllImport("user32")]
            private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
            private const int AW_HOR_POSITIVE = 0x0001;//从左向右显示
            private const int AW_HOR_NEGATIVE = 0x0002;//从右向左显示
            private const int AW_VER_POSITIVE = 0x0004;//从上到下显示
            private const int AW_VER_NEGATIVE = 0x0008;//从下到上显示
            private const int AW_CENTER = 0x0010;//从中间向四周
            private const int AW_HIDE = 0x10000;
            private const int AW_ACTIVATE = 0x20000;//普通显示
            private const int AW_SLIDE = 0x40000;
            private const int AW_BLEND = 0x80000;//透明渐变显示        private void Form1_Load(object sender, EventArgs e)
            {
                int animatetype = 10;
                Random a = new Random();
                int dwFlags = (int)a.Next(animatetype);
                switch (dwFlags)
                {
                    case 0://普通显示
                        AnimateWindow(Handle, 1000, AW_ACTIVATE);
                        break;
                    case 1://从左向右显示
                        AnimateWindow(Handle, 1000, AW_HOR_POSITIVE);
                        break;
                    case 2://从右向左显示
                        AnimateWindow(Handle, 1000, AW_HOR_NEGATIVE);
                        break;
                    case 3://从上到下显示
                        AnimateWindow(Handle, 1000, AW_VER_POSITIVE);
                        break;
                    case 4://从下到上显示
                        AnimateWindow(Handle, 1000, AW_VER_NEGATIVE);
                        break;
                    case 5://透明渐变显示
                        AnimateWindow(Handle, 1000, AW_BLEND);
                        break;
                    case 6://从中间向四周
                        AnimateWindow(Handle, 1000, AW_CENTER);
                        break;
                    case 7://左上角伸展
                        AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_POSITIVE | AW_VER_POSITIVE);
                        break;
                    case 8://左下角伸展
                        AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_POSITIVE | AW_VER_NEGATIVE);
                        break;
                    case 9://右上角伸展
                        AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_POSITIVE);
                        break;
                    case 10://右下角伸展
                        AnimateWindow(Handle, 1000, AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_NEGATIVE);
                        break;
                }
            }        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_HIDE | AW_VER_NEGATIVE);
            }
      

  4.   

    AnimateWindow这个样式好象挺多。
    博客园去年有一篇文章是窗口切换效果的。也不错。只是效率差一些。如果楼主想要很复杂的。Direct试试。
      

  5.   

    http://www.pudn.com/downloads311/sourcecode/windows/csharp/detail1381496.html
      

  6.   

    试了下AnimateWindow,界面切换效果还是不是特别好,只有几个简单的切换效果。谢谢各位老大们的帮助。我现在的结论是用winform做,简单的可以,复杂一点的,暂时没有比较好的办法。不知道哪位老大有比较好的控件能实现复杂的切换的。比如像3D旋转,门,星状,棋盒,翻页等切换的
      

  7.   

    请问大神们能在分享点winform切面切换特效的代码 好吗 我qq 552 352 258