首页 新闻 会员 周边 捐助

WinForm,panel容器内的控件显示和隐藏

0
悬赏园豆:80 [已关闭问题] 关闭于 2015-07-20 18:17

1效果图、

2、预达到效果,鼠标进入显示Tow,离开显示One

3、问题:当鼠标进入两个Button范围时,会触发父容器的Mouse_Hove,Mouse_Live时间,会使界面闪烁。

4、本人方法:坐标计算,但是效果不理想。MouseMove事件,但是鼠标操作过快,会失效。

5、要求;希望能够提出一个好的解决方法。

6、奖励:本人圆豆不多,多多包含。

飘落风尘鬓擒雪的主页 飘落风尘鬓擒雪 | 初学一级 | 园豆:119
提问于:2015-07-20 15:34
< >
分享
所有回答(2)
0

可以试一下~ 不用Panel控件的Mouse_Leave事件,而只用Panel控件的Mouse_Enter事件 和 Panel外部窗体,例如Form1的Mouse_Enter事件

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void panel1_MouseEnter(object sender, EventArgs e)
        {
            button1.Visible = true;
            button2.Visible = false;
        }

        private void Form1_MouseEnter(object sender, EventArgs e)
        {
            button1.Visible = false;
            button2.Visible = true;
        }
        
    }
Echo.Liu | 园豆:385 (菜鸟二级) | 2015-07-20 16:37

谢谢你的提议,但是我有很多这样的控件,填充在容器里面的

支持(0) 反对(0) 飘落风尘鬓擒雪 | 园豆:119 (初学一级) | 2015-07-20 16:44

@飘落风尘鬓擒雪: 那就在你panel外面在套一个隐形容器就行了(留有一定间隙,触发MouseEnter),把这个隐形的容器 当做 我上面说的Form,搞一个MouseEnter.

支持(0) 反对(0) Echo.Liu | 园豆:385 (菜鸟二级) | 2015-07-20 16:59

@飘落风尘鬓擒雪: 不是什么好办法,万不得已解决你这个需求还是可以的。

支持(0) 反对(0) Echo.Liu | 园豆:385 (菜鸟二级) | 2015-07-20 17:00

@Echo.Liu: 我的效果图上其实是留了2PX的边框的,但是达不到我想要的效果,这个问题,我已经解决了,谢谢你的提议

支持(0) 反对(0) 飘落风尘鬓擒雪 | 园豆:119 (初学一级) | 2015-07-20 18:14
0

我已经解决这个问题了,谢谢大家

飘落风尘鬓擒雪 | 园豆:119 (初学一级) | 2015-07-20 18:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册