类似qq弹窗,自动消失

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FormCPM
{
    public partial class Form1 : Form
    {
        const int countDown = 60;//倒计时
        int currCountDown = countDown;//倒计时
        bool isCount = true;
        Thread thread;
        public Form1()
        {
            InitializeComponent();
            thread = new Thread(() =>
            {
                while (true)
                {
                    if (isCount)
                    {
                        if (currCountDown <= 0)
                        {
                            this.Invoke(new Action(() =>
                            {
                                this.Close();
                            }));
                            break;
                        }
                        else
                        {
                            Thread.Sleep(100);
                            currCountDown--;
                            this.Invoke(new Action(() =>
                            {
                                this.Opacity = this.Opacity - this.Opacity / countDown;
                            }));

                        }
                    }
                    else
                    {
                        Thread.Sleep(10);
                    }
                }
            });
            thread.IsBackground = true;
        }
        [DllImport("user32")]

        private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);

        //下面是可用的常量,按照不合的动画结果声明本身须要的

        private const int AW_HOR_POSITIVE = 0x0001;//自左向右显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记

        private const int AW_HOR_NEGATIVE = 0x0002;//自右向左显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记

        private const int AW_VER_POSITIVE = 0x0004;//自顶向下显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记

        private const int AW_VER_NEGATIVE = 0x0008;//自下向上显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记该标记

        private const int AW_CENTER = 0x0010;//若应用了AW_HIDE标记,则使窗口向内重叠;不然向外扩大

        private const int AW_HIDE = 0x10000;//隐蔽窗口

        private const int AW_ACTIVE = 0x20000;//激活窗口,在应用了AW_HIDE标记后不要应用这个标记

        private const int AW_SLIDE = 0x40000;//应用滑动类型动画结果,默认为迁移转变动画类型,当应用AW_CENTER标记时,这个标记就被忽视

        private const int AW_BLEND = 0x80000;//应用淡入淡出结果

        private void Form1_Load(object sender, EventArgs e)
        {

            int x = Screen.PrimaryScreen.WorkingArea.Right - this.Width;

            int y = Screen.PrimaryScreen.WorkingArea.Bottom - this.Height;

            this.Location = new Point(x, y);//设置窗体在屏幕右下角显示

            AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVE | AW_VER_NEGATIVE);
            thread.Start();

        }private void Form1_MouseEnter(object sender, EventArgs e)
        {
            isCount = false;
            currCountDown = countDown;            this.Opacity = 1d;        }

        private void Form1_MouseLeave(object sender, EventArgs e)
        {
            isCount = true;
        }

    }
}
时间: 2024-10-26 20:02:51

类似qq弹窗,自动消失的相关文章

Android开发之《实现类似Toast可以自动消失的提示栏Tip》

import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.content.Context; import android.view.View; import android.widget.TextView; public class TipManager { private static final String TAG = TipManager.class.ge

【Android】类似QQ风格的popupwindow弹窗效果

[Android]类似QQ风格的popupwindow弹窗效果 该源码主要是实现类似QQ风格的popupwindow弹出窗效果,出现时有遮挡图层,消失时无遮挡图层. 下载地址:http://www.devstore.cn/code/info/273.html

类似QQ电脑空闲5分钟后自动更改状态的实现

今天复习了windows线程的调度,优先级等相关内容.以为将一个进程和它的线程都设为优先级最低,那么该进程将在电脑空闲的时候才会运行.我突然联系到有的程序比方说腾讯QQ或者屏保程序是不是将要调用的线程设为优先级最低,等到电脑空闲或空闲一段时间(具体时间程序当然可以调)才开始调用呢?然后我写程序验证了一下,发现任何时候该线程都会执行,哪怕是CPU到达了100%.为什么会这样呢?仔细看书得知,当今计算机运算速度非常快,哪怕鼠标键盘一直动个不停,计算机CPU还是会有很多空闲时间,这个空闲时间足以运行那

QQ聊天窗口上的广告与QQ弹窗广告的完美屏蔽去除

涉及的软件 1. QQ  (笔者的为v8.2版本) 2. Win7 3. ADSafe(3.13.308.9900正式版) 前言 QQ广告十分讨人厌,除了QQ弹窗的广告,让人十分反感外,最近发现QQ聊天窗口上的广告,也十分惹眼,影响聊天过程中的美感!此外,QQ弹窗老是 在你紧张忙碌.集中精力时弹出,十分烦人,所以早就想革了它们.所以今天集中力量,写一下如何屏蔽QQ相关的广告(包括聊天窗口上的广告,以及QQ弹 窗). 一.QQ聊天窗口上的广告去除 1.首先,你需要退出QQ,否者可能造成后面的操作失

C#实现类似QQ的隐藏浮动窗体、消息闪动

功能简介 当语音客服系统登录成功进入主界面时,本聊天工具将会自动隐藏在左下角位置,当鼠标移动到左下角时,自动弹出,当鼠标移开聊天窗体时,自动隐藏.如果想让聊天窗体固定在桌面,只要拖动一下聊天窗口,让它不停留在边界位置就可以了.隐藏和悬浮方式类型QQ. 1. 系统主界面 当点击最小化按钮时, 在电脑右下角会显示任务图标,点击任务图标,将会在左下角位置弹出. 主界面各部分介绍: a) 消息列表:该区域的功能主要是显示消息记录. b) 发送消息:输入要发送的消息进行发送,默认群聊,输入消息后,按回车键

C#如何实现类似QQ那样靠边隐藏的功能

http://www.cnblogs.com/yechensi/archive/2009/08/02/1537145.html C#如何实现类似QQ那样靠边隐藏的功能 你想过为自己的程序添加靠边隐藏的功能吗?还在为计算窗体的大小及位置而烦恼吗?想这么简单的轻松调用吗? DockWindow.FormDockTemplate m_oDockFormTemplate = new DockWindow.FormDockTemplate(this); 不用吃惊,您只需要在你的窗体初始化的时候(也就是窗体

在Mint 16中当按下光驱的弹出按钮后桌面上的光驱图标没有自动消失的问题解决

/*********************************************************************  * Author  : Samson  * Date    : 07/29/2014  * Test platform:  *              Mint 16  *              GNU bash, version 4.2.45  * *************************************************

js弹框3秒后自动消失

开发中有时候会需要最出弹框后,过几秒自动消失的效果,下面给大家分享一下我自己做的一个小案例. 案例中的弹框使用的是bootstrap里面的模态框,实现自动消失则用的是js中的setInterval方法.该弹框使用了jquery-ui中的draggable方法,可拖动. 目录结构如下: 下面是案例代码: demo.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti

Eclipse调试的时候LogCat自动消失,什么原因?

============问题描述============ LogCat出来的信息,几秒之后就自动消失了. 每次还没来得及看错误信息,它就消失了! 有人说是因为内容太多了的原因, 但是好像不是,我自己的System.out才几条信息,也是出来几秒就自动消失了! 还有一个问题,就是eclipse识别不到真机,必须开着360手机助手/或者是豌豆荚才能识别到真机.有人说可能是360手机助手和豌豆荚的原因,我试着把两个都卸载了,驱动也卸载重装了,还是不行,识别不了,adb.exe我也去网上下载了一个替换掉