C# WinForm开发系列 - Form/Window
Form是WinForm开发中非常重要的一个控件, 本文将包含如何制作一个关于对话框,系统载入提示窗体, 创建类似于QQ提示框以及创建不规则窗体等(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ).
1.愚翁专栏
Form问题是最基本的问题,因为编写WinApp程序首先接触的对象就是它,因此在论坛中对它而产生的问题也最常见。与Form相关的常见问题大致分为如下的四类问题。
第一类问题:如何控制窗体的显示顺序;
第二类问题:窗体之间的对象如何相互引用或操作;
第三类问题:如何处理窗体唯一性问题;
最后一个问题:如何合理的关闭窗体或程序。 阅读全文>
由于在MDI中,子窗体会很多,那么在我以前一篇文章中所提到的方法就有些繁琐了。为了能适应多个子窗体,并对于每个子窗体只保留一个实例,那么我就用一个新的方法来替换,即用反射方法来作处理。阅读全文>
最近看了好多人问这方面的问题,以前我也写过一篇blog,里面说了如何在子线程中控制进度条。但目前大多数环境,需要弹出模式窗口,来显示进度条,那么只需要在原先的基础上稍作修改即可。阅读全文>
最近,看到网上经常会问如何进行窗口跳转,大多数的问题都是牵扯到Login窗口。其实,在Visual Studio 6以来,比较正确的做法,是判断Login窗口的返回值,然后决定是否打开主窗体,那么在C#中也是一样的。阅读全文>
【翻译】C#中使用Setting保存用户自定义窗体位置及大小
介绍
我以前曾经发表过一片关于使用Win32 APIs的闪屏的文章 CSplash - A Splash Window Class 。下面这篇文章是介绍同样的过程怎么在.NET framework里实现。
准备图片
选择一个你比较喜欢的用在闪屏的图片。选择你喜欢的一部分去做为显示的部分,用特殊的颜色去填充不显示的部分。
翻译
Lloyd Franklin.著Splash Screen Control
简介
回首以前,我到处寻找Splash Screen的例子,不过我找不到一个符合我的需求的例子。我需要一个简单的、容易复用的、可靠的、安全的——没有线程或子控件;并且,我希望它能够在启动的时候立即出现并停留在屏幕上,在必要的时候消失,当然你可以随时让它复现。我也看到有不少基于.NET下Win Form做的例子,而,这篇文章中,我将使用System.Runtime.InteropServices创建一个继承与控件类的最顶层窗口。我非常喜欢这个方案,因为,我发现它很容易定制。
翻译
Duncan Edwards Jones. 著Form Changed Control
简介
本文是一个基于System.ComponentModel.IExtenderProvider 的组件,它允许你列举出Form上所有已经改变过内容的控件,以决定是否需要提示用户保存。
6.创建不规则窗体工程文件.rar WindowsMoveDemo.rar(在桌面右底部弹出一个慢慢向上移动的窗口)
[翻译原文地址]:http://www.viksoe.dk/code/windowless1.htm
一直以来,Windows应用程序是基于GDI/User 窗口结构的,而这个结构限制了不少地方。当你尝试使用这个内建的控件集,然后简单迅速地得到了一个非常非常漂亮的应用程序的之后,你就会理解这个限制。
一个无窗体的用户界面并不使用原始的Win32控件。取而代之的是,给屏幕上的每个控件定制图像显示:包括标签、按钮、列表框等等。使用这一种接口以及不是最新的了:大部分很酷的程序都开始“皮肤”,比如WinAmp和MS Media Player。不过skinning只适合一些小的应用程序,它们拥有很少的对话框。如果你正在做一个数据库驱动的程序,你需要一个固定的框架。
那么,来看看Microsoft CRM(http://www.microsoft.com/businesssolutions/crm/)应用程序吧,我个人认为,它是最成功的DHTML interfaces(http://blogs.msdn.com/aaronel/articles/230420.aspx)之一。MS CRM 界面非常向 Windows XP,但,同时还有一些其它很酷的特征,如一个导航条、一个适应性非常好的List控件和几个阴影/渐变面板。
8. 【翻译】任务栏上弹出类似MSN,QQ的消息提示框(酷) 模拟MSN弹出式对话框示例.rar 消息任务栏.rar 托盘控件使用.rar
Customizing OpenFileDialog in .NET By CastorTiu
简介
这是一个可以自定义扩展功能的打开文件对话框。.NET中有OpenFileDialog打开文件对话框类,但是他不被自定义。而这个控件就是可以让你给.NET的OpenFileDialog类添加自己定义的功能。但是因为OpenFileDialog类被定义为sealed的,所以你不能继承它。
10.C#实现动态翻书效果
今天在整理大学资料的时候,发现自己参加校内一次软件设计大赛的作品,界面实在是有点丑陋:hehe ,不过还是为自己当时的执着和坚持感到幸福,截图如下,有兴趣的朋友可以留下邮箱,帮小弟优化代码。:angel 见笑了~
11.移动无标题(边框)窗体
12.类似于QQ的弹出窗口 winpopup.rar MSN.rar
13.
14.类似于QQ截图 qqcatchscreen.rar ScreenCapture.rar WebCapture.rar 截屏.rar CaptureScreen.rar
15.类似于VS2005浮动窗体的Docking组件.rar
16.仿制Outlook窗体风格 OutookClone(OLAF).zip
17.多语言切换 multilanguageupd.rar
18.输入对话框 InputBox_src.zip
19.定制一个关于对话框 aboutbox_demo-net2-csharp.zip
20.自定义绘制窗体 CBalloon_src.zip
C# WinForm开发系列 - Form/Window的更多相关文章
- C# WinForm开发系列 - 文章索引
该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm ...
- C# WinForm开发系列 - ListBox/ListView/Panel
转自会飞的小猪文章 C# WinForm开发系列 - ListBox/ListView/Panel 在博客园看到了一篇博文,觉得很不错,就转载过来了. 包含自定义绘制的ListBox, 带拖动, ...
- C# WinForm开发系列 - WebBrowser
原文:C# WinForm开发系列 - WebBrowser 介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集 ...
- C# WinForm开发系列 - GDI+【转】
http://blog.csdn.net/blue_sky6/article/details/53811435?locationNum=6&fps=1 C# WinForm开发系列 - GDI ...
- C# WinForm开发系列 - DataGrid/DataGridView
在WinForm开发中,DataGrid/DataGridView被广泛使用于绑定数据库中数据进行呈现.整理一些关于DataGrid/DataGridView使用的文章,涉及DataGrid/Data ...
- C# WinForm开发系列 - ZedGraph
ZedGraph是用于创建任意数据的二维线型.条型.饼型图表的一个类库,也可以作为Windows窗体用户控件和Asp.Net网页控件.这个类库具有高度的适应性,几乎所有式样的图表都能够被创建.这个类库 ...
- C# WinForm开发系列 - Crystal Report水晶报表
转自:ttp://www.cnblogs.com/peterzb/archive/2009/07/11/1521325.html 水晶报表(Crystal Report)是业内最专业.功能最强的报表系 ...
- C# WinForm开发系列 - DataGridView
1.DataGridView实现课程表 testcontrol.rar 2.DataGridView二维表头及单元格合并 DataGridView单元格合并和二维表头.rar myMultiColHe ...
- GJM:C# WinForm开发系列 - DataGridView 使用方法集锦 [转载]
1.DataGridView实现课程表 testcontrol.rar 2.DataGridView二维表头及单元格合并 DataGridView单元格合并和二维表头.rar myMultiColHe ...
随机推荐
- nmon分析与详解
1.命令安装 1.查看liunx版本版本x86_64_14i 目录:cd /nmon/logs/ 版本x86_64_14i [root@localhost u06]# cd / [root@local ...
- mysql 分段统计数据
一个简单的分段统计的问题:student 表{id,name,score} 字段,统计各个分数段的人数.规则:60以下不及格,60-80良,80-100优. SELECT sum(CASE when ...
- Ubuntu启用IPv6上google的方法
Pv6就是我们通常所说的互联网协议,是TCP/IP的核心协议,那么在Linux下如何开启IPv6呢?下面以Ubuntu为例,给大家介绍下Ubuntu启用IPv6的方法. 方法: $sudo apt-g ...
- Spring Boot配置方式
Spring提供了xml.注解.Java配置.groovy配置实现Bean的创建和注入. 配置元数据 无论xml配置.注解配置还是Java配置,都被称为配置元数据,所谓元数据即描述数据的数据.元数据本 ...
- [NOIP2003] 提高组 洛谷P1040 加分二叉树
题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都 ...
- [NOIP1999] 提高组 洛谷P1014 Cantor表
题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … ...
- Codeforces936B. Sleepy Game
还好这场没打 MD什么破题 n<=100000,m<=200000的图问从s点出发能否走奇数条边到一个没有出度的点. 直观的想法:做一个bfs,$f(i,0/1)$表示从$s$出发到$i$ ...
- Python基础教程笔记——第6章:抽象(函数)
(1)计算裴波那契数列: fbis=[0,1] num=int(input("please input the number")) for i in range(num-2): f ...
- python之-微信开发学习
微信公众平台技术文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432# 注意,最好以python3 运行,中文 ...
- java学习——关于java课件上动手动脑问题简单的分析
问题一:关于以下的代码为什么会产生错误的问题的简单分析. 第一个动手动脑提供了一下的代码,可以发现,在Foo的这个类中只定义了一个Foo(int)类型的构造函数,在之前的学习工程中,我们并没有接触到j ...