实例说明
通常情况下,窗体显示在屏幕的中心。对于使用频率非常高的软件,通常放在屏幕上端以浮动工具栏形式显示。下面通过实例介绍浮动工具栏的设计方法。运行程序,程序可以停在屏幕的任何位置,当窗体失去焦点后,窗体将自动隐藏。效果如图1.8所示。
技术要点
窗体是否要隐藏,重要的是要判断在操作中,通过窗体的Focused属性,是否可以确定窗体有焦点。在窗体有焦点时,该窗体正在被操作,这时需要完全显示在屏幕当中,如果窗体没有焦点,通过设置窗体到屏幕的高度,来确定窗体的隐藏部分。下面详细介绍一下Focused属性。
Focused属性用来获取一个值,该值指示控件是否有输入焦点。其语法结构如下:
public virtual bool Focused { get; }
l 属性值:如果控件有焦点,则为True;否则为False。
实现过程
(1)创建一个项目,将其命名为Ex01_08,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加Panel控件,并为Panel控件添加相应的背景图片。
(3)在Panel上添加两个Label控件,并将其Text属性设置为“打开”和“关闭”,同时把两个Label控件的背景颜色设置为透明。
(4)主要程序代码。
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Focused == false)
{
this.Top = -30;
}
}
private void label2_Click(object sender, EventArgs e)
{
this.Close();
}
private void panel1_MouseClick(object sender, MouseEventArgs e)
{
this.Top = 60;
}
举一反三
根据本实例,读者可以开发以下功能。
制作一个带动画效果的工具栏。
制作一个飘动的工具栏。