0

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

在此处输入图像描述

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

我想知道是否有一种简单的方法可以实现这一点。如果不是,还有哪些更高级的替代方案?这是在交互式地图上实施的好主意吗?

4

1 回答 1

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

在此处输入图像描述

于 2013-06-04T13:56:59.627 回答