登陸表單顯示動態效果

來源:互聯網
上載者:User
某日,在網上閑逛,看到一段表單顯示的動態效果代碼,於是實踐之,發覺效果不錯,於是用於登陸表單中,果然增色不少。
一般地,登陸表單啟動時會按表單預設的方式啟動,整個表單一併顯示,若在登入介面能實現一點動畫效果,比方說讓表單由中心一點一點向四周慢慢擴散,最後呈現出整個登陸表單,這樣的效果會增加客戶的體驗度。

登陸表單動畫效果
    /// <summary>
    ///登陸表單動畫效果
    /// </summary>
    public class AnimateWindowFrom
    {
        [System.Runtime.InteropServices.DllImport("user32")]
        private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
        const int AW_HOR_POSITIVE = 0x0001;
        const int AW_HOR_NEGATIVE = 0x0002;
        const int AW_VER_POSITIVE = 0x0004;
        const int AW_VER_NEGATIVE = 0x0008;
        const int AW_CENTER = 0x0010;
        const int AW_HIDE = 0x10000;
        const int AW_ACTIVATE = 0x20000;
        const int AW_SLIDE = 0x40000;
        const int AW_BLEND = 0x80000;

        /// <summary>
        /// 表單由中心點放大
        /// </summary>
        /// <param name="hwnd"></param>
        public static void WindowZoomIn(IntPtr hwnd)
        {
            AnimateWindow(hwnd, 1000, AW_CENTER | AW_ACTIVATE);
        }
        /// <summary>
        /// 表單由下往上收縮
        /// </summary>
        /// <param name="hwnd"></param>
        public static void WindowZoomOut(IntPtr hwnd)
        {
            AnimateWindow(hwnd, 1000, AW_SLIDE | AW_HIDE | AW_VER_NEGATIVE);
        }
}

在使用時只要在Form表單的Load和FormClosing事件裡分別加入以下代碼:動態表單
        /// <summary>
        /// 表單啟動
         /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            //表單由中心向四周放大
            AnimateWindowFrom.WindowZoomIn(this.Handle);
        }

        /// <summary>
        /// 表單關閉
         /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //表單由下往上伸縮
            AnimateWindowFrom.WindowZoomOut(this.Handle);
        }

是不是很簡單? 呵呵。 Enjoy it!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.