C# QQ最小化到托盘有一个动化过程,是怎么样做出来的?仔细看,他像是缩小到托盘的最左个图标上去的,
QQ是用API还是自已写方法做的?

解决方案 »

  1.   

    用notifyIcon控件
                this.Hide();
                this.notifyIcon.Visible=true;
    一定要为它加个图标,要不你是看不到的啊
      

  2.   

    C#里面有notifyIcon控件,不过QQ估计不是C#写的,应该是用winAPI来写的。
      

  3.   

     private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
            {
                this.TopMost = true;
                this.Show();
                this.notifyIcon1.Visible = false;
                this.WindowState = FormWindowState.Normal;
            }        //Form  SizeChanged事件
            private void DataObjectForm_SizeChanged(object sender, EventArgs e)
            {
                if (this.WindowState == FormWindowState.Minimized)
                {
                    this.Hide();
                    this.notifyIcon1.Visible = true;
                }
            }
    ------可以結帖了。。
      

  4.   

    用API:
    BOOL AnimateWindow(          HWND hwnd,
        DWORD dwTime,
        DWORD dwFlags
    );
    提供好几种动画效果.
    具体的LZ自己查下MSDN
      

  5.   

    使用timer组件让窗体慢慢变小设定一个窗体大小的阈值,达到那个阈值之后this.Hide(); this.notifyIcon.Visible=true; 通过更改timer的interval值来影响变小的节奏