QQ桌面弹出消息

来源:百度知道 编辑:UC知道 时间:2024/06/13 17:19:53
想用C#做一个类似于QQ桌面弹出消息的程序,请各位高手说出思路,最好能给出一点实例,谢谢了,效果就和QQ桌面右下角弹出的效果一样,麻烦了...答案能实现的话200分送上...绝不食言
你们没理解我的意思啊,我说的消息不是聊天消息,是比如说有人在你的QQ空间留言了,然后桌面弹出的提示说有人在你的QQ空间留言了那种提示,不是托盘程序,我是做B/S的当然知道那些效果是自己作图切出来的... 还有啊,怎么控制窗体的显示坐标,比如距右20px,距下100px;我说的是桌面与窗体的位置,要在不同分辨率的桌面显示啊,还要隐藏掉窗体的标题栏,就是边框了,我知道问题比较多,如果你们能说的明白了,200分的基础上在加
麻烦你们再说说啊....谢谢了!

1.边框问题,将弹出窗体的FormBorderStyle属性设置为none,就去掉标题栏和边框了。
2.弹出位置问题。拖一个Timer控件到你的弹出窗体上,一开始要设置其Enabled属性为false。
可以直接复制代码,这段代码要写在弹出窗体上,至于怎么弹出的我想应该不用说了吧:
int lastY =0;//定义弹出消息窗体最后显示的Y坐标
int lastX = 0;//定义弹出消息窗体最后显示的X坐标
//这个定义弹出窗体当前显示的Y坐标,通过这个可以实现其从桌面底部逐渐向上显示的效果,默认为桌面高度,刚好隐藏起来
int custY = Screen.PrimaryScreen.WorkingArea.Height;
private void Form1_Load(object sender, EventArgs e)
{
//得到弹出窗体最后的显示X坐标,就是桌面的宽度减掉弹出窗体的宽度 lastX=Screen.PrimaryScreen.WorkingArea.Width-this.Width;
//初始化弹出窗体的位置
this.Location = new Point(lastX,custY);
//初始化弹出窗体最后显示的Y坐标,也就是桌面高度减掉窗体高度
lastY=Screen.PrimaryScreen.WorkingArea.Height - this.Height;
//启动Timer控件
this.timer1.Enabled = true;
}

private void timer1_Tick(object sender, EventArgs e)
{
//弹出窗体当前的Y坐标不断减少,以实现弹出窗体上升的效果。减5减10你自己设置,另外Timer的Interval属性也可以用来改变弹出效果
custY-=5;
//当Y坐标小于或等于最终坐标时,停止窗口上升过程
if (custY <= lastY)
{
this.time