2010-02-24 59 views
0

我用下面的代码以动画形式
而形式展示自下而上动画功能调用,
而形式隐藏从上到下动画功能调用。 该代码适用于底部到顶部的动画,而我试图调用顶部到底部的动画,而隐藏动画不起作用,窗体隐藏时根本没有效果。动画窗口问题,使用C#

Form frm =new Form(); 
    private void btnTopToBottom_Click(object sender, System.EventArgs e) 
    { 
     flags=WinAPI.AW_ACTIVATE|WinAPI.AW_VER_POSITIVE|WinAPI.AW_SLIDE;   
     WinAPI.AnimateWindow(we.Handle,1000,flags); 
     frm.Hide(); 
    } 



    private void btnBottomToTop_Click(object sender, System.EventArgs e) 
    { 
     flags = WinAPI.AW_ACTIVATE|WinAPI.AW_VER_NEGATIVE|WinAPI.AW_SLIDE;  
     WinAPI.AnimateWindow(we.Handle,1000,flags); 
     frm.Show(); 
    } 
+0

在哪里你的职责是从叫什么名字?它们在窗口状态改变之前还是之后被调用? – 2010-02-25 00:39:41

+0

我在命令按钮单击事件中调用了上面的函数,在主窗体加载事件中创建的frm对象 – 2010-02-25 05:02:50

回答

1

试试这个代码:

private void btnTopToBottom_Click(object sender, System.EventArgs e) 
    { 
     flags = WinAPI.AW_HIDE | WinAPI.AW_VER_NEGATIVE| WinAPI.AW_SLIDE;  
     WinAPI.AnimateWindow(we.Handle,1000,flags); 
     frm.Hide(); 
    } 
+0

看起来像正确的解决方案:'AW_HIDE'而不是'AW_ACTIVATE'。 – VVS 2011-10-10 09:12:19