我目前正在尝试找出自动显示或自动隐藏界面的一部分的最佳做法。这是两种状态下的应用程序的屏幕截图:
目前有一个允许切换的按钮,但根据要求,他们希望将其设置为自动。底层地图也在开发中,因此它也将是完全交互的,因此它可能不像我希望的那样容易实现。
我想知道是否有一种简单的方法可以实现这一点。如果不是,还有哪些更高级的替代方案?这是在交互式地图上实施的好主意吗?
我目前正在尝试找出自动显示或自动隐藏界面的一部分的最佳做法。这是两种状态下的应用程序的屏幕截图:
目前有一个允许切换的按钮,但根据要求,他们希望将其设置为自动。底层地图也在开发中,因此它也将是完全交互的,因此它可能不像我希望的那样容易实现。
我想知道是否有一种简单的方法可以实现这一点。如果不是,还有哪些更高级的替代方案?这是在交互式地图上实施的好主意吗?
你可以这样做:
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