昨天晚上发了一篇这个问题,很快的就解决了!就是设置按钮控件的鼠标离开事件,鼠标离开按钮控件后其visible属性就设置为true。至于自动显示则是设置真个窗口的鼠标移动事件,看鼠标是否进入控件的坐标范围。
不过现在问题来了,对于图片控件这个方法貌似就不管用了。同样的代码对按钮就行,而图片就不行!郁闷了,求助。我的代码如下:        /// <summary>
        /// 当鼠标在窗体上移动时发生
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmMain_MouseMove(object sender, MouseEventArgs e)
        {
            
            //判断鼠标是否进入控件的可见范围
            bt_lastpicture.Visible = bt_lastpicture.Bounds.Contains(e.Location);  //按钮控件就行,但是如果是PictureBox控件就不行
            bt_nextpicture.Visible = bt_nextpicture.Bounds.Contains(e.Location);
            //用这个方法来判断鼠标是否进入控件范围,有时候有效有时候无效的。而且只有鼠标从下面进入时才有效
            if (e.Location.X >= this.Width - pb_close.Width - 15  
                && e.Location.X <= this.Width - 15
                && e.Location.Y >= 0 
                && e.Location.Y <= 30)            {
                pb_close.Image = DrawClosePicture.drawClosePicture_white();   //这是我自绘的一个关闭窗口的图片,作用就是鼠标进入
                                                                              //其范围时变亮了。
            }
                    }        /// <summary>
        /// 鼠标离开关闭控件时
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void pb_close_MouseLeave(object sender, EventArgs e)
        {
            pb_close.Image = DrawClosePicture.drawClosePicture_gray();         //鼠标离开该关闭的图片控件时再绘画一个变暗的按钮
        }