Winform窗体效果实例分析

本文实例分析了Winform窗体效果。分享给大家供大家参考。具体如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication4
{
 public partial class Form3 : Form
 {
  bool flag = false;
  public Form3()
  {
   InitializeComponent();
   flag = true;
  }
  #region user32.dll
  //导入user32.dll
  [System.Runtime.InteropServices.DllImport("user32")]
  //声明API函数
  private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
  #endregion
  #region 常量
  //正面_水平方向
  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;
  #endregion
  #region 判断方向
  public int IsHorOrVer(int pos)
  {
   int rtn = 0;
   //判断是正方向还是反方向
   if (pos.Equals(0))
   {
    //判断是横向还是纵向
    if (flag)
     rtn = AW_HOR_POSITIVE;
    else rtn = AW_VER_POSITIVE;
   }
   else if (pos.Equals(1))
   {
    //判断是横向还是纵向
    if (flag)
     rtn = AW_HOR_NEGATIVE;
    else rtn = AW_VER_NEGATIVE;
   }
   return rtn;
  }
  #endregion
  private void button1_Click(object sender, EventArgs e)
  {
   //动画——窗体向上拖拉
   AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_HIDE | IsHorOrVer(1));
   //动画——窗体向下拖拉
   AnimateWindow(this.Handle, 1000, AW_SLIDE | AW_ACTIVATE | IsHorOrVer(0));
   //动画——窗体淡出特效
   AnimateWindow(this.Handle, 1000, AW_BLEND | AW_HIDE | IsHorOrVer(1));
   //动画——窗体淡入特效
   AnimateWindow(this.Handle, 1000, AW_BLEND | AW_ACTIVATE | IsHorOrVer(0));
   //动画——窗体由四周向中心缩小直至消失
   AnimateWindow(this.Handle, 1000, AW_CENTER | AW_HIDE | IsHorOrVer(1));
   //动画——窗体由中心向四周扩展
   AnimateWindow(this.Handle, 1000, AW_CENTER | AW_ACTIVATE | IsHorOrVer(0));
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • WinForm实现状态栏跑马灯效果的方法示例

    本文实例讲述了WinForm实现状态栏跑马灯效果的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsForm

  • C#实现WinForm禁止最大化、最小化、双击标题栏、双击图标等操作的方法

    本文实例讲述了C#实现WinForm禁止最大化.最小化.双击标题栏.双击图标等操作的方法.分享给大家供大家参考.具体实现方法如下: protected override void WndProc(ref Message m) { if (m.Msg==0x112) { switch ((int) m.WParam) { //禁止双击标题栏关闭窗体 case 0xF063: case 0xF093: m.WParam = IntPtr.Zero; break; //禁止拖拽标题栏还原窗体 case

  • Winform实现鼠标可穿透的窗体镂空效果

    今天找到一个名叫LICEcap的录屏软件,录制界面是这样的: 这个炫酷的空心窗口就是镜头,调整好大小,然后对准需要录制的地方按下Record就可以生成gif了. 卧槽太NB了我也要做一个! 根据StackOverflow站的提示(在这里),我们需要使用一个在Windows2000及之后平台可用的,用以实现不规则窗体的分层窗口API (SetLayerWindowAttributes).根据百度我们先需要使用一个名为SetWindowLong的Win32 API来把窗体设定为分层窗体. 为了在.N

  • WinForm实现自定义右下角提示效果的方法

    本文实例讲述了WinForm实现自定义右下角提示效果的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace IcoFl

  • WinForm实现仿视频播放器左下角滚动新闻效果的方法

    本文实例讲述了WinForm实现仿视频播放器左下角滚动新闻效果的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Syst

  • winform下实现win7 Aero磨砂效果实现代码

    效果图: 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.ServiceModel; using System.Runtime.InteropServices; name

  • C# WinForm实现Win7 Aero透明效果代码

    在Vista系统之后,微软为窗体程序提供了Aero磨砂的效果,如下图.那么用C#如何来实现这种磨砂效果呢? 背景为我的桌面 那先上代码吧: [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [DllImport("dwmapi.dll", PreserveSig = fa

  • C#实现winform渐变效果的方法

    本文实例实现一个启动画面,采用了显示Aform,过一段时间,隐藏这个Aform,showdialog下一个Bform,closeAForm这个方法来做了,不知道大家有没有更好的办法. 设定程序从Aform启动: 复制代码 代码如下: static void Main()  {    Application.EnableVisualStyles();    Application.SetCompatibleTextRenderingDefault(false);    Application.Ru

  • WinForm实现同时让两个窗体有激活效果的特效实例

    本文实例讲述了WinForm实现同时让两个窗体有激活效果的特效.主要采用windows api实现一个窗体激活的时候给另外一个发消息.分享给大家供大家参考. 具体实现方法如下: using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace WindowsApplication43 { public partial class Form1 : Form { Form frm =nu

  • WinForm实现窗体最大化并遮盖任务栏的方法

    本文实例讲述了WinForm实现窗体最大化并遮盖任务栏的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Windows.Forms; using System.Drawing; namespace CSImageFullScreenSlideShow { public class FullScreen { private FormWindowState winState; private FormBorderStyle brdStyle; p

  • 用 C# Winform做出全透明的磨砂玻璃窗体效果代码

    首先, 调用系统 API, 这里如果要引用神马的, 就不一一列出了, 大家自己引用一下. 复制代码 代码如下: [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [DllImport("dwmapi.dll", PreserveSig = false)] public s

随机推荐