C#C#简单已毕渐显弹出音讯在”右下角”显示(Demo)

   
近期铺面的事务不多,自己达成了一个简约的功力,算是一个demo,作用最好不难,而且大家还平常碰到起。

不怕在右下角渐变的弹出一个提醒框出来,有点类似于QQ或MSN那信息提醒作用.(从下往上渐变呈现出来)

C# 1

本来可以展开其余扩大(如对窗体美化,内容控制等),那里只是一个很粗略的完毕。就从不设想那么多了。

下边是非同寻常的代码:(重即使调用了系统的API函数落成渐变效果)。其实就是调用了这些函数暴发了渐变效果,从下往上显得

C# 2  [DllImport(“user32”)]
C# 3        private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
C# 4        const int AW_HOR_POSITIVE = 0x0001;
C# 5        const int AW_HOR_NEGATIVE = 0x0002;
C# 6        const int AW_VER_POSITIVE = 0x0004;
C# 7        const int AW_VER_NEGATIVE = 0x0008;
C# 8        const int AW_CENTER = 0x0010;
C# 9        const int AW_HIDE = 0x10000;
C# 10        const int AW_ACTIVATE = 0x20000;
C# 11        const int AW_SLIDE = 0x40000;
C# 12        const int AW_BLEND = 0x80000;

调用代码就几乎了哈。 

下边是其一API函数的连带认证(参照互联网其他资源)

//添加引用 
  using  System.Runtime.InteropServices;      
  //声明API 
  [DllImport(“user32”)] 
  private  static  extern  bool  AnimateWindow(IntPtr  hwnd,int 
dwTime,  int  dwFlags); 
  const  int  AW_HOR_POSITIVE  =  0x0001; 
  const  int  AW_HOR_NEGATIVE  =  0x0002; 
  const  int  AW_VER_POSITIVE  =  0x0004; 
  const  int  AW_VER_NEGATIVE  =  0x0008; 
  const  int  AW_CENTER  =  0x0010; 
  const  int  AW_HIDE  =  0x10000; 
  const  int  AW_ACTIVATE  =  0x20000; 
  const  int  AW_SLIDE  =  0x40000; 
  const  int  AW_BLEND  =  0x80000;  
  //窗体加载时的卡通片效果API 
  AnimateWindow(this.Handle,1000,  AW_VER_NEGATIVE 
|AW_ACTIVATE);//从下到上且不占其他程序难题      
    
  /*上面是AnimateWindow的有血有肉说明 
  AnimateWindow  API          
  函数AnimateWindow. 
         
固然MSDN页面上说这一个函数是Win2000的新型函数,但经网友表达在Win98里就曾经有这些函数了:      
  Private  Declare  Function  AnimateWindow  Lib  “user32”  (ByVal 
hwnd  As  Long,  ByVal  dwTime  As  Long,  ByVal  dwFlags  As  Long) 
As  Long 
   
  其中: 
     hwnd只对Form有效,其余像Picture1都心有余而力不足发生效用。 
     dw提姆e是动画片持续的年月,默许为200。 
     dwFlags可取以下值: 
       AW_HOR_POSITIVE  (    &H1    )  ‘从左到右打开窗口 
       AW_HOR_NEGATIVE  (    &H2    )  ‘从右到左打开窗口 
       AW_VER_POSITIVE  (    &H4    )  ‘从上到下打开窗口 
       AW_VER_NEGATIVE  (    &H8    )  ‘从下到上打开窗口 
       AW_CENTER     (    &H10  )  ‘看不出任何意义 
       AW_HIDE      (&H10000) 
‘在窗体卸载时若想行使本函数就得加上此常量   
       AW_ACTIVATE    (&H20000) 
‘在窗体通过本函数打开后,默许意况下会失去主旨,除非加上本常量   
       AW_SLIDE       (&H40000)  ‘看不出任何功用 
       AW_BLEND       (&H80000)  ‘淡入淡出效果 
   
  最终一个就是本人要找的,遗憾的是只对Win2000灵光。

 

除此以外还有一个要义是:怎么着让弹出的窗体在右下角:也很简短,供参考:

C# 13C# 14Code
int x = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Width-this.Width;
int y = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size.Height-this.Height;
this.SetDesktopLocation(x, y);

 

好了,关键代码都出来了,由于只是一个很小的机能demo,没怎么具体优化。那里只供提供一种思路。有趣味的情侣可以友善去进行扩张:

源代码下载:MessageShowDemo

 

材料参考: 
http://www.cnblogs.com/risen/archive/2008/01/15/1039751.html

 

Charles Chen

MSN:gotosunny@msn.com

相关文章