WinForm中的特殊窗体效果:渐变窗口和信息提示窗口
2.
3.using System.Collections.Generic;
4.
5.using System.ComponentModel;
6.
7.using System.Data;
8.
9.using System.Drawing;
10.
11.using System.Text;
12.
13.using System.Windows.Forms;
14.
15.
16.
17.namespace ThreadDemo
18.
19.{
20.
21. /// <summary>
22.
23. /// 说明:这是一个渐变窗口,当程序运行的时候,窗体是完全透明的
24.
25. /// 随着时间的变化,窗体逐渐变为完全部透明
26.
27. /// 作者:周公
28.
29. /// 原创地址:<A 30.href="http://blog.csdn.net/zhoufoxcn/archive/2008/06/16/231.554064.aspxhttp://blog.csdn.net/zhoufoxcn/archive/2008/06/16/2554064.aspx">http://blog.csdn.net/zhoufoxcn/archive/2008/06/16/231.554064.aspx</A>
30.
31. /// </summary>
32.
33. public partial class TimerForm : Form
34
35. {
36.
37. private double opacity = 0;//记录当前窗体的透明度
38.
39. public TimerForm()
40.
41. {
42.
43. InitializeComponent();
44.
45. Opacity = 0;//指定窗体完全透明
46.
47. }
48.
49.
50.
51. private void timer1_Tick(object sender, EventArgs e)
52.
53. {
54.
55. if (opacity <= 1)
56.
57. {
58.
59. opacity = opacity + 0.05;
60.
61. Opacity = opacity;
62.
63. }
64.
65. Console.WriteLine("Opacity=" + Opacity);
66.
67. }
68.
69. }
70.
71.}
1.(二)移动提示信息窗口
2.每个Control类都有一个Location属性,它是一个Point值,这个值表示控件的左上角的坐标值,利用这个坐标值,我们可以设置窗体的位置。程序核心代码如下:
3.<PRE class=csharp name="code">using System;
4.
5.using System.Collections.Generic;
6.
7.using System.ComponentModel;
8.
9.using System.Data;
10.
11.using System.Drawing;
12.
13.using System.Text;
14.
15.using System.Windows.Forms;
16.
17.
18.
19.1namespace ThreadDemo
20.
21.{
22.
23. /// <summary>
24.
25. /// 说明:这是信息提示窗口,运行程序的时候,这个窗口会缓慢从屏幕下方
26.
27. /// 向上移动,知道提示信息窗口完全显示;
28.
29. /// 当点击“确定”按钮之后,这个窗口又会缓慢从屏幕区域移出
30.
31. /// 作者:周公
32.
33. /// 原创地址:<A href="http://blog.csdn.net/zhoufoxcn/archive/2008/06/16/2554064.aspxhttp://blog.csdn.net/zhoufoxcn/archive/2008/06/16/2554064.aspx">http://blog.csdn.net/zhoufoxcn/archive/2008/06/16/2554064.aspx</A>
34.
35. /// </summary>
36.
37. public partial class NoteForm : Form
38.
39. {
40.
41. private int screenWidth;//屏幕宽度
42.
43. private int screenHeight;//屏幕高度
44.
45. private bool finished=false;//是否完全显示提示窗口
46.
47. public NoteForm()
48.
49. {
50.
51. InitializeComponent();
52.
53. screenHeight = Screen.PrimaryScreen.Bounds.Height;
54.
55. screenWidth = Screen.PrimaryScreen.Bounds.Width;
56.
57. //设置提示窗口坐标在屏幕可显示区域之外
58.
59. Location = new Point(screenWidth-Width, screenHeight);
60.
61. }
62.
63.
64.
65. private void NoteForm_Load(object sender, EventArgs e)
66.
67. {
68.
69.
70.
71. }
72.
73.
74.
75. private void timer1_Tick(object sender, EventArgs e)
76.
77. {
78.
79. if (!finished)//如果提示窗口没有完全显示
80.
81. {
82.
83. //如果提示窗口的纵坐标与提示窗口的高度之和大于屏幕高度
84.
85. if (Location.Y + Height >= screenHeight)
86.
87. {
88.
89. Location = new Point(Location.X, Location.Y - 5);
90.
91. }
92.
93. }
94.
95. else//如果提示窗口已经完成了显示,并且点击了确定按钮
96.
97. {
98.
99. //如果提示窗口没有完全从屏幕上消失
100.
101. if (Location.Y < screenHeight)
102.
103. {
104.
105. Location = new Point(Location.X, Location.Y + 5);
106.
107. }
108.
109. }
110.
111. }
112.
113.
114.
115. private void btnOK_Click(object sender, EventArgs e)
116.
117. {
118.
119. //设置完成了显示,以便让提示控件移出屏幕可显示区域
120.
121. finished = true;
122.
123. }
124.
125. }
126.
127.}</PRE>
128.<PRE class=csharp name="code"> </PRE>
129.<PRE class=csharp name="code">窗体的运行效果效果:
130.<IMG alt="" src="https://p-blog.csdn.net/p_w_picpaths/p_blog_csdn_net/zhoufoxcn/TimerForm.JPG"></PRE>
131.<PRE class=csharp name="code"> </PRE>
132.<PRE class=csharp name="code"><IMG alt="" src="https://p-blog.csdn.net/p_w_picpaths/p_blog_csdn_net/zhoufoxcn/NoteForm1.JPG"></PRE>
133.<PRE class=csharp name="code"> </PRE>
134.<PRE class=csharp name="code"><IMG alt="" src="https://p-blog.csdn.net/p_w_picpaths/p_blog_csdn_net/zhoufoxcn/NoteForm2.JPG"></PRE>
135.<PRE class=csharp name="code"> </PRE>
136.<PRE class=csharp name="code">说明:整个程序源代码(包括可执行文件)可从<A href="http://download.csdn.net/zhoufoxcnhttp://download.csdn.net/zhoufoxcn">http://download.csdn.net/zhoufoxcn</A>下载。</PRE>
转载于:https://blog.51cto.com/zhoufoxcn/165987
WinForm中的特殊窗体效果:渐变窗口和信息提示窗口相关推荐
- C#【控件篇】Winform中使用MDI窗体
C#-Winform中使用MDI窗体 窗体搭建及属性配置 代码部分 运行效果 其他学习参考 源码下载地址: 窗体搭建及属性配置 代码部分 运行效果 水平分布 层叠分布 显示当前打开的窗体 其他学习参考 ...
- Winform中怎样跨窗体获取另一窗体的控件对象
场景 Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/de ...
- Winform中怎样重写窗体关闭事件实现验证密码通过才能关闭窗体
场景 需要在Winform中执行一些定时器,需要该窗体一直开启,防止因点击窗体的关闭误操作.所以需要在点击叉号进行关闭时验证一个密码,密码正确则允许关闭,否则不允许关闭. 效果如下: 注: 博客: B ...
- 在winform中使用wpf窗体
在winform项目,通过引用dll可以添加WPF窗体,如下 但是如果直接在winform的项目中添加wpf窗体还是有部分问题,图片的显示. 直接在XAML界面中用Source属性设置图片会出现错误. ...
- Winform中怎样对窗体进行隐藏,再次打开时仍然保留上次的窗体
场景 点击按钮后打开窗口,点击窗口的确定按钮后即使窗体返回了Ok,此时不关闭窗体,将窗体隐藏. 再次点击按钮后,仍然打开上次的窗体. 注: 博客主页: https://blog.csdn.net/ba ...
- Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)
场景 向窗体中拖拽照片并显示效果 向窗体中拖拽文件夹并显示树形结构效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...
- Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- 在WinForm中实现省市级联的效果
在WinForm通过连接数据库来实现省市级联的效果 首先,在数据库中创建两个表,省份表(Province)和城市表(City),两个表之间需建立外键约束,主键是省份Id, 外键是城市表中的省份Id,从 ...
- c# winform中窗体切换后释放及防止重复生成
问题1:窗体切换后如何关闭,并释放资? c# winform中,2个窗体,form1和form2,互相切换的时候执行 this.Hide(); Form2 form2 = new Form2();fo ...
- WinForm窗体中如何在一个窗体中取到另一个窗体的值
例如我们定义两窗体,Form1和Form2,如何在Form2中取到Form1中的一个值呢? 解决方法1: 在Form1 中定义一个成员变量,例如public string a = " &qu ...
最新文章
- 【BZOJ】1003: [ZJOI2006]物流运输trans(SPFA+DP)
- 基于SSM实现校友录管理平台
- Entity Framework 在MySQL中执行SQL语句,关于参数问题
- 通俗解释协方差与相关系数
- 使用ThreadLocal绑定连接资源(事务)
- 机器学习回归问题解答
- Javascript隐式数据类型转换(==、+、Object)
- Python - 摄氏度华氏度转换
- 中国首个“微信身份证”是怎么做到人脸识别误判率百万分之一的?
- 如何用GoldWave生成音频的回音效果
- 会议审批 查询会议签字
- 【正点原子MP157连载】 第九章 TF-A移植-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- potplayer录制视频包含字幕
- 解决Mac无法关闭80端口,无法将hosts域名指向本地80端口
- canvas绘制虚线图表
- vue引入51la流量监控
- “耽改”热中的“腐文化”!为我开启创意者和教育者的,Adobe国际认证旅程
- 重装windows10系统
- 语音验证码是怎么发的?如何选择语音验证码平台?
- ZNH-IR04工业机器人综合应用实训平台