C#在Winform程序中显示QQ在线状态

首先,引入必要的命名空间

using System.Windows.Forms;  using System.Net;

其次,在Form中拖入一个PictureBox控件,并设置其SizeMode为AutoSize。同时拖入一个Timer控件。

然后在窗体构造函数中写入代码

timer1.Tag = 0;
timer1.Interval = 10;
timer1.Enabled = true;

然后在Timer的Tick事件中写入代码

Timer timer = (Timer)sender; if (timer.Tag != null)
{
    if ((int)timer.Tag == 0)
    {
        timer.Enabled = false;
        timer.Tag = 1;
        try         {
            Image img = Image.FromStream(WebRequest.Create(qqgif).GetResponse().GetResponseStream());
            pictureBox1.Image = img;
        }
        catch         {
            pictureBox1.Image = Properties.Resources.pa;
        }
        timer.Interval = 1000 * 10;
        timer.Enabled = true;
    } 
    else     {
        try         {
            Image img = Image.FromStream(WebRequest.Create(qqgif).GetResponse().GetResponseStream());
            pictureBox1.Image = img;
        }
        catch         {
            pictureBox1.Image = Properties.Resources.pa;
        }
    }
}

最后,在PictureBox的Click事件中写入代码

 

System.Diagnostics.Process.Start("iexplore.exe", qqmsg);

以上代码中 qqgif和qqmsg 的定义

 

private const string qqgif = "http://wpa.qq.com/pa?p=2:303071318:50"; private const string qqmsg = "tencent://message/?uin=303071318";



PS:如上过程,在获取QQ在线图标时会有点卡的感觉,可以修改成多线程方式来解决。
posted @ 2013-03-01 11:59  luoshupeng  阅读(1327)  评论(5编辑  收藏  举报