using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace AnimationForm
{
public class Win32
{
/// <summary>
/// 执行动画
/// </summary>
/// <param name="whnd">控件句柄</param>
/// <param name="dwtime">动画时间</param>
/// <param name="dwflag">动画组合名称</param>
/// <returns>bool值,动画是否成功</returns>
[DllImport("user32.dll")]
public static extern bool AnimateWindow(IntPtr whnd, int dwtime, int dwflag);
/// <summary>
/// 从左到右显示
/// </summary>
public const Int32 AW_HOR_POSITIVE = 0x00000001;
/// <summary>
/// 从右到左显示
/// </summary>
public const Int32 AW_HOR_NEGATIVE = 0x00000002;
/// <summary>
/// 从上到下显示
/// </summary>
public const Int32 AW_VER_POSITIVE = 0x00000004;
/// <summary>
/// 从下到上显示
/// </summary>
public const Int32 AW_VER_NEGATIVE = 0x00000008;
/// <summary>
/// 若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口
/// </summary>
public const Int32 AW_CENTER = 0x00000010;
/// <summary>
/// 隐藏窗口,缺省则显示窗口
/// </summary>
public const Int32 AW_HIDE = 0x00010000;
/// <summary>
/// 激活窗口。在使用了AW_HIDE标志后不能使用这个标志
/// </summary>
public const Int32 AW_ACTIVATE = 0x00020000;
/// <summary>
/// 使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略
/// </summary>
public const Int32 AW_SLIDE = 0x00040000;
/// <summary>
/// 透明度从高到低
/// </summary>
public const Int32 AW_BLEND = 0x00080000;
}
}
HJL 发表于 2014-11-18 11:58
请问是不是XP系统也支持这些特效?
腾讯科技 发表于 2014-12-15 01:36
直接使用的吗
shuaikaiyuan 发表于 2015-3-23 15:04
挺好看的 不过你们闪屏的问题是怎么解决的啊
//设置自定义控件Style
this.SetStyle(ControlStyles.ResizeRedraw, true);//调整大小时重绘
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);// 双缓冲
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);// 禁止擦除背景
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);// 背景可透明
乔克斯 发表于 2015-3-23 16:01
在控件或窗体初始化的时候加这段代码
[mw_shl_code=csharp,true]
//设置自定义控件Style
QQ截图20150323160601.png (24.5 KB, 下载次数: 79)
shuaikaiyuan 发表于 2015-3-23 16:45
我开启了 如果控件过多了话就这样子了(控件背景色已经设置成默认了)。。 一直惆怅怎么解决他好 ...
//设置自定义控件Style
this.SetStyle(ControlStyles.ResizeRedraw, true);//调整大小时重绘
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);// 双缓冲
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);// 禁止擦除背景
乔克斯 发表于 2015-3-23 18:32
这串代码是双缓冲,加在控件或窗体初始化的地方。
[mw_shl_code=csharp,true]
//设置自定义 ...
shuaikaiyuan 发表于 2015-3-24 11:45
比如A窗体中加入了Bpanel
Bpanel中加入了Cpanel
Cpanel中加入了控件D UserCon
gisnewbie 发表于 2015-4-18 19:44
不在loaded事件调用AnimateWindow 窗体控件不显示,怎么解决呢?
jjfshebedo 发表于 2015-4-23 16:57
请问是不是XP系统也支持这些特效?
欢迎光临 CSkin博客 (http://bbs.cskin.net/) | Powered by Discuz! X3.2 |