【IT168技术文档】
该控件有两个基本的类组成:
一个 form (会实际显示出来的部分).
一个包含所有可在form中包含的属性的类.
类包含两个timers, 一个用来控制渐隐渐出的动画效果,另一个可配置为定义弹出窗口显示多久.下面是一个演示:
form在Paint事件中完成绘制. 笔者使用了一下函数来获取比指定颜色更浅/更深的颜色,但不确定是否有更好的方法.fPopup.Size = Size fPopup.Opacity = 0 fPopup.Location = _ New Point(Screen.PrimaryScreen.WorkingArea.Right_ - fPopup.Size.Width - 1, _ Screen.PrimaryScreen.WorkingArea.Bottom) fPopup.Show()
[1]如何为控件实现一个隐藏窗体的方法Private Function GetDarkerColor()Function GetDarkerColor(ByVal Color As Color) As Color Dim clNew As Color clNew = Drawing.Color.FromArgb(255, DedValueMin0(CInt(Color.R), _ Parent.GradientPower), DedValueMin0(CInt(Color.G), _ Parent.GradientPower), DedValueMin0(CInt(Color.B), _ Parent.GradientPower)) Return clNew End Function 为避免闪烁: Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True) Me.SetStyle(ControlStyles.ResizeRedraw, True) Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
在PopupNotifier.vb 类中加入:
在form中如此调用:Sub Hide()Sub Hide() tmWait.Stop() tmAnimation.Start() End Sub
Private Sub PopupNotifier1_Close()Sub PopupNotifier1_Close() Handles PopupNotifier1.Close PopupNotifier1.Hide() End Sub