技术要点
窗体是否要隐藏,重要的是要判断在操作中,通过窗体的Focused 属性,是
否可以确定窗体有焦点。在窗体有焦点时,该窗体正在被操作,这时需要完全显
示在屏幕当中,如果窗体没有焦点,通过设置窗体到屏幕的高度,来确定窗体的
隐藏部分。下面详细介绍一下Focused 属性。
Focused 属性用来获取一个值,该值指示控件是否有输入焦点。其语法结构
如下:
public virtual bool Focused { get; }
窗体是否要隐藏,重要的是要判断在操作中,通过窗体的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)拖入Timer控件
(5)主要程序代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Ex01_08
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label2_Click(object sender, EventArgs e)
{
this.Close();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Focused == false)
{
this.Top = -this.Height+3;
}
}
private void Form1_Click(object sender, EventArgs e)
{
this.Top = 3;
}
}
}