自动隐藏/自动显示界面

时间:2013-06-03 08:47:06

标签: c# winforms user-interface

我目前正在尝试弄清楚自动显示或自动隐藏界面的一部分的最佳做法。以下是两种状态下应用程序的屏幕截图:

enter image description here

目前只有一个按钮允许切换,但根据要求,他们希望将其设置为自动。底层地图也在开发中,因此它将是完全互动的,所以它可能不像我希望的那样容易实现。

我想知道是否有一种简单的方法来实现这一目标。 如果没有,哪些更先进的替代品? 这是实现交互式地图的ontop的好主意吗?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

namespace autohide
{
    public partial class Form1 : Form
    {
        public int pin = 0;

        public Form1()
        {
            InitializeComponent();
            panel1.Visible = false;

        }
        void ChangeIconPin()
        {
            switch (pin)
            {
                case 0:
                    //Changes the pin-icon to display a unpinned frame.
                    this.button_Pin.BackgroundImage = autohidefixv2.Properties.Resources._55_roto;
                    break;

                case 1:
                    //Changes the pin-icon to display a pinned frame.
                    this.button_Pin.BackgroundImage = autohidefixv2.Properties.Resources._55_2;
                    break;

                default:
                    Console.WriteLine("sdasdad");
                    break;
            }
        }


        private void button1_MouseHover(object sender, EventArgs e)
        {
            panel1.Visible = true;
        }

        private void Form1_MouseEnter(object sender, EventArgs e)
        {
            if (pin == 0)
            {
                panel1.Visible = false;
            }
            else
            {
                return;
            }
        }

        private void button_Pin_Click(object sender, EventArgs e)
        {
            switch (pin)
            {
                case 0:
                    pin = 1;
                    ChangeIconPin();
                    break;
                case 1:
                    pin = 0;
                    ChangeIconPin();
                    break;
                default:
                    Console.WriteLine("asdasda");
                    break;
            }
        }
    }
}

如果用户需要,我还添加了一个可以固定面板以禁用自动隐藏的引脚。您可以在此处找到示例项目: https://dl.dropboxusercontent.com/u/11441219/autohidefixv2.zip

enter image description here