C#控件开发--Notifier(一)

来源:互联网 发布:java 取出list 中一列 编辑:程序博客网 时间:2024/06/04 00:44
最近工作无聊,于是想实现一些其它的东西,刚好看到MSN弹出了提示框(Notifier),我收到了一封新邮件,于是乎,想出自己应该在系统中也使用一个这样的对话框,提示系统中应该执行的一些操作,或者一些经过,但是如何写呢。
我知道,这个弹出得窗体应该是一个对话框,而且这个对话框是总是在最前方,于是就看看.net中窗体的属性,发现全部都有,
对话框最前方显示:
//
        // 摘要:
        //     获取或设置一个值,指示该窗体是否应显示为最顶层窗体。
        //
        // 返回结果:
        //     如果将窗体显示为最顶层窗体,则为 true;否则为 false。默认为 false。
        [DefaultValue(false)]
        public bool TopMost { get; set; }
于是我自己写了个对话框,设置对话框的TopMost=true,如下:
Form form = new Form();
form.TopMost = true;
        form.Location = new Point(Screen.PrimaryScreen.Bounds.Width - form.Width, Screen.PrimaryScreen.Bounds.Height-form.Height);
        form.Show();
最前方显示完成了,但是有出现一个问题,对话框的位置不像我设置的那个样子,显示的位置时不确定的。这时我想到了一个属性StartPosition,其实位置,于是,我就开始查看StartPosition的相关属性。
// 摘要:
    //     指定窗体的初始位置。
    [ComVisible(true)]
    public enum FormStartPosition
    {
        // 摘要:
        //     窗体的位置由 System.Windows.Forms.Control.Location 属性确定。
        Manual = 0,
        //
        // 摘要:
        //     窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
        CenterScreen = 1,
        //
        // 摘要:
        //     窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。
        WindowsDefaultLocation = 2,
        //
        // 摘要:
        //     窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
        WindowsDefaultBounds = 3,
        //
        // 摘要:
        //     窗体在其父窗体中居中。
        CenterParent = 4,
    }
好了,加上位置form.StartPosition = FormStartPosition.Manual;,对话框显示的位置确定了,这样一个对话框就显示在Windows系统的右下角。
但是这样显示有些效果不好看,于是乎,加上动画效果。使用Timer控件控制动画效果。
原创粉丝点击