当前位置:编程学习 > C#/ASP.NET >>

【浮动工具栏的问题】.......高手帮忙看下!

通常情况下,窗体显示在屏幕的中心。对于使用频率非常高的软件,通常放在屏幕上端以浮动工具栏形式显示。下面通过实例介绍浮动工具栏的设计方法。运行程序,程序可以停在屏幕的任何位置,当窗体失去焦点后,窗体将自动隐藏。效果如图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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,