【浮动工具栏的问题】.......高手帮忙看下!
通常情况下,窗体显示在屏幕的中心。对于使用频率非常高的软件,通常放在屏幕上端以浮动工具栏形式显示。下面通过实例介绍浮动工具栏的设计方法。运行程序,程序可以停在屏幕的任何位置,当窗体失去焦点后,窗体将自动隐藏。效果如图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;
}
_______________________________________________________________________
我照着打好代码~..可是怎么样弄都不是我理想的状态~...浮动的窗口应该是能隐藏的~可我的怎么不行~不能隐藏的~
自己估计可能是上面的数值出问题了~可是怎么改都出不了理想的效果~~
希望高手们帮帮忙~
--------------------编程问答-------------------- private void timer1_Tick(object sender, System.EventArgs e)
{
if(this.Focused==false)
{
this.Top=-30;
}
else
{
this.Top=60;
}
} --------------------编程问答-------------------- LZ的没用呢!!..
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Focused == false)
{
this.Visible = false;
}
}
private void label2_Click(object sender, EventArgs e)
{
this.Close();
}
private void panel1_MouseClick(object sender, MouseEventArgs e)
{
this.Top = 60;
}
但这样也不行..
补充:.NET技术 , C#