用C#怎么样实现一个逐渐消失的窗体?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C#怎么样实现一个逐渐消失的窗体?相关的知识,希望对你有一定的参考价值。
有两种实现方法。其一:动态改变窗体Opacity属性的值。代码略。其二:调用Win32 API,代码如下:public partial class Form_Login : Formpublic Form_Login()
InitializeComponent();
public class Win32 //API参数类
//以下参数可以多个一起使用 用 | 分割开
public const Int32 AW_HOR_POSITIVE = 0x00000001;
//从左到右显示
public const Int32 AW_HOR_NEGATIVE = 0x00000002;
//从右到左显示
public const Int32 AW_VER_POSITIVE = 0x00000004;
//从上到下显示
public const Int32 AW_VER_NEGATIVE = 0x00000008;
//从下到上显示
public const Int32 AW_CENTER = 0x00000010;
//若使用了AW_HIDE标志,则使窗口向内重叠,即收缩窗口;否则使窗口向外扩展,即展开窗口
public const Int32 AW_HIDE = 0x00010000;
//隐藏窗口,缺省则显示窗口
public const Int32 AW_ACTIVATE = 0x00020000;
//激活窗口。在使用了AW_HIDE标志后不能使用这个标志
public const Int32 AW_SLIDE = 0x00040000;
//使用滑动类型。缺省则为滚动动画类型。当使用AW_CENTER标志时,这个标志就被忽略
public const Int32 AW_BLEND = 0x00080000;
//渐变效果 逐渐清晰
[DllImport("user32.dll", CharSet = CharSet.Auto)] //需要命名空间using System.Runtime.InteropServices的支持
public static extern bool AnimateWindow //定义一个bool数据类型
(
IntPtr hwnd, // 绑定句柄 handle to window
int dwTime, // 效果展示时间 duration of animation
int dwFlags // 效果类型
);
private void Form_Login_Load(object sender, EventArgs e) // 窗体加载
//调用API函数实现逐渐淡入效果 时间 2秒;
Win32.AnimateWindow(this.Handle,2000, Win32.AW_BLEND); //参数1 句柄 参数2 动画执行的时间,单位毫秒; 参数3 动画的效果.可以是组合值中间用“|”隔开 如 Win32.AW_BLEND |Win32.AW_CENTER
参考技术A 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 Form1 : Form
public Form1()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
this.timer1.Interval = 50;
this.timer1.Enabled = true;
this.timer1.Start();
private bool b = true;//定义个变量,以追求循环
private void timer1_Tick(object sender, EventArgs e)
if (b)
this.Opacity -= 0.2;
if (this.Opacity == 0)
b = false;
else
this.Opacity += 0.02;
if (this.Opacity == 1)
b = true;
参考技术B 楼上的这个程序显示timer1未定义?
c#窗体中怎么实现用按扭打开一个网页?
很简单啊一句代码就行
//这个是使用默认浏览器打开的
System.Diagnostics.Process.Start("http://www.baidu.com");
//这个是使用ie打开的,你想换成甚么浏览器,就吧路径写该浏览器的地址就行推荐使用默认
System.Diagnostics.Process.Start(@"C:\Program Files\Internet Explorer\iexplore.exe","http://www.baidu.com"); 参考技术A 一个代码,“打开指定网址”:
System.Diagnostics.Process.Start("你的网址")
比如说打开百度就是:
System.Diagnostics.Process.Start("http://www.baidu.com") 参考技术B 拖一个LinkLable到窗体中,在它的点击事件里这样:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
System.Diagnostics.Process.Start("www.baidu.com");
参考技术C window.open
以上是关于用C#怎么样实现一个逐渐消失的窗体?的主要内容,如果未能解决你的问题,请参考以下文章
C#winform怎样等所有控件加载完再显示窗体?C#透明窗体显示时闪现黑块怎么解决?