最近做了一个简单的播放器,在显示图像的panel上放了一个透明的pic,想要在全屏显示时过五秒让鼠标指针消失,但是貌似只要pic的大小发生变化他的MouseMove事件就会一直执行,请问下还有什么方法可以判断鼠标是否移动,或者是怎么解决MouseMove一直执行的问题。谢谢

解决方案 »

  1.   


            //添加pic1的大小改变事件
            void pic1_SizeChanged(object sender, EventArgs e)
            {
                if(this.WindowState == FormWindowState.Maximized)
                {
                    this.pic1.MouseMove -= ..;//去掉移动事件
                }
                else
                {
                    this.pic1.MouseMove += ..;//添加移动事件
                }
            }
      

  2.   

    其实我主要是想让它全屏后才有那事件  不全屏的时候倒是没关系 我发现自己写的那个透明pic好像也有问题 因为不管最大还是普通 mousemove都是一直在执行
    下面是那个透明pic的代码
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Text;
    using System.Windows.Forms;namespace _KZone
    {
        public partial class tspControl : UserControl
        {
            public tspControl()
            {
                InitializeComponent();
                SetStyle(ControlStyles.SupportsTransparentBackColor
                  | ControlStyles.UserPaint
                  | ControlStyles.AllPaintingInWmPaint
                  | ControlStyles.Opaque, true);
                this.BackColor = Color.Transparent;
            }        private Image img;
            public Image Image
            {
                get
                {
                    return img;
                }
                set
                {
                    img = value;
                }
            }        //protected override void OnLocationChanged(EventArgs e)
            //{
            //    //base.OnLocationChanged(e);
            //    Visible = false;
            //    Visible = true;
            //}        protected override CreateParams CreateParams
            {
                get
                {
                    //return base.CreateParams;
                    CreateParams cp = base.CreateParams;
                    cp.ExStyle |= 0x00000020; //WS_EX_TRANSPARENT 
                    return cp;
                }
            }
            //protected override void OnPaint(PaintEventArgs pe)
            //{
            //    if (img != null)
            //    {
            //        base.OnPaint(pe);
            //        pe.Graphics.DrawImage(img, 0, 0);
            //    }
            //    else
            //    {
            //        return;
            //    }
            //}
        }
    }
      

  3.   

    timer 控件 或者 mousehover 事件
      

  4.   


    size change 还会引发 mousemove 事件? 
      

  5.   

    你要“全屏显示时过五秒让鼠标指针消失”关MouseMove事件什么事儿...
      

  6.   

    貌似是我那个控件写的有问题 它会一直执行mousemove
      

  7.   

    http://wenwen.soso.com/z/q168709862.htm