C# 模仿QQ、MSN消息提示系列 四、bug修改 效果优化

 

C# 模仿QQ、MSN消息提示系列 一、基本原理

C# 模仿QQ、MSN消息提示系列 二、基本效果模仿包含代码

C# 模仿QQ、MSN消息提示系列 三、实现多个提示效果

C# 模仿QQ、MSN消息提示系列 四、bug修改 效果优化

  

一、修改内容

1、引用封送类异常提示

出现原因 Point 属性属于引用封送类

修改方法:

原来使用 public Point EndPoint; 属性获取下一个提示窗口出现的位置于是改为

 

public   int  Y
        {
            
get  {  return   this .EndPoint.Y; }
        }

 

问题解决

 

2、每次当多个提示弹出的时候,从第二个开始每个窗口的高度都比背景的高度多2像素

出现原因:form窗体的Height默认最小值为2

所以得等到窗体移动两像素后开始同步窗体的移动位置和大小

 

if  ( this .moveCount  >   2 )
{
   
this .Height ++ ;
}

 

3、同时显示多个窗口时cpu占用大的问题

分析原因:可能是System.windows.Forms.Timer控件的问题

于是把控件全部换成 System.Threading.Timer

结果:问题没有解决,并且在多线程调用窗体时有时会出现异常(几率不大)

 

继续等待牛人解决这个问题

 

二、归纳知识点

做完这个小的Demo可以学到如下知识点:

1、Form窗体的位置操作原理

2、窗口之间的互相调用的方法

3、System.Threading.Timer的用法包括 开始,终止

4、异步线程操作窗口内容(需要写好相关调用Delegate并且调用相关控件的Invoke方法)

 

三、功能汇总及总体效果图

1、实现多提示,并能自动根据当前活动窗体判断下一窗体出现位置

2、鼠标悬停,当鼠标在form上面时Form停止运动,离开后继续当前行为

 

 

 下载地址:WindowsMoveDemo2008-07-30.rar

 

 

作者: XuShen8314
出处: http://XuShen8314.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值