首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#winform picturebox控件中label实现点击解决方法

2013-11-03 
c#winformpicturebox控件中label实现点击实现功能:在picturebox中放入两个label,一个用于浏览图片,另一个

c#winform picturebox控件中label实现点击
实现功能:在picturebox中放入两个label,一个用于浏览图片,另一个删除图片,当鼠标放在picturebox控件时,两个label都显示,当鼠标离开picturebox控件时,两个label都不显示,为什么点击两个label控件时mousedown事件不会触发
 private void contact_pic_MouseLeave(object sender, EventArgs e)
        {

            lb_liulan.Visible = false;
            label5.Visible = false;
        }
 private void contact_pic_MouseEnter(object sender, EventArgs e)
        {
            lb_liulan.Visible = true;
            label5.Visible = true;
        }
 private void lb_liulan_MouseDown(object sender, MouseEventArgs e)
        {
            lb_liulan.Enabled = true;
            opd_pic.ShowDialog();
        }
        private void label5_MouseDown(object sender, MouseEventArgs e)
        {
             contact_pic.Image = null;
             contact_pic.Tag = "";
         }
[解决办法]
用一个System.Timers.Timer类去执行label的隐藏,当鼠标移出picturebox的时候触发timer事件,timer时间间隔你自己设定,里面判断timer里面判断label是不是显示的,是显示的就隐藏!

timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);

        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            lb_liulan.Visible = false;
            label5.Visible = false;
        }
[解决办法]
不要使用定时器,定时器使用不好会带来更麻烦的问题。
你的想法其实很简单,实现也不难:
1、鼠标在Pic上,Label显示
2、鼠标不在Pic上,但是在Label上,Label显示
3、鼠标不在Pic上,也不在Label上,Label隐藏

热点排行