控件的自动隐藏和显示

yangrudi 2009-11-26 09:33:52
c#WinForm中我想实现一个功能。程序的主窗体左侧是一个TreeView控件,我想让他能够像浏览器中的侧边栏一样,选择自动隐藏\显示按钮后,当鼠标停留在它上面一会儿,它就会自动显示出来,鼠标移开后它又自动隐藏。
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰心的小屋 2009-11-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhujiazhi 的回复:]
private void MainForm_MouseMove(object sender, MouseEventArgs e)
        {
            if(e.X > treeViewMenu.Location.X && e.X < treeViewMenu.Width + treeViewMenu.Location.X && e.Y > treeViewMenu.Location.Y && e.Y < treeViewMenu.Height + treeViewMenu.Location.Y)
            {
                treeViewMenu.Visible = true;
            }
            else
            {
                treeViewMenu.Visible = false;
            }
        }
[/Quote]

思路很好啊
rpoplar 2009-11-27
  • 打赏
  • 举报
回复
应该可以的,看看控件是不是放在了其他panel上。
如果是的话,还需要其该panel的mousemove事件
yangrudi 2009-11-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 angel6709 的回复:]
哎,mouse事件
[/Quote]
这位仁兄厉害,一看就看出门道了,Mouse事件,好厉害啊!我好佩服你!
yangrudi 2009-11-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhujiazhi 的回复:]
private void MainForm_MouseMove(object sender, MouseEventArgs e)
        {
            if(e.X > treeViewMenu.Location.X && e.X < treeViewMenu.Width + treeViewMenu.Location.X && e.Y > treeViewMenu.Location.Y && e.Y < treeViewMenu.Height + treeViewMenu.Location.Y)
            {
                treeViewMenu.Visible = true;
            }
            else
            {
                treeViewMenu.Visible = false;
            }
        }
[/Quote]
楼上这个方法可以隐藏,但是显示不出来。
zhujiazhi 2009-11-26
  • 打赏
  • 举报
回复
private void MainForm_MouseMove(object sender, MouseEventArgs e)
{
if(e.X > treeViewMenu.Location.X && e.X < treeViewMenu.Width + treeViewMenu.Location.X && e.Y > treeViewMenu.Location.Y && e.Y < treeViewMenu.Height + treeViewMenu.Location.Y)
{
treeViewMenu.Visible = true;
}
else
{
treeViewMenu.Visible = false;
}
}
angel6709 2009-11-26
  • 打赏
  • 举报
回复
哎,mouse事件

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧