个人开发历程知识库

关注C++/Java/C#技术, 致力于安防监控/移动应用/WEB方面开发
------------------------------------ 业精于勤,荒于嬉;行成于思,毁于随
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C# WinForm开发系列 - Form/Window

Posted on 2009-06-30 23:29  peterzb  阅读(124586)  评论(21编辑  收藏  举报

     Form是WinForm开发中非常重要的一个控件, 本文将包含如何制作一个关于对话框,系统载入提示窗体, 创建类似于QQ提示框以及创建不规则窗体等(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ).   

1.愚翁专栏  

CSDN第一期总结之一:Form问题

Form问题是最基本的问题,因为编写WinApp程序首先接触的对象就是它,因此在论坛中对它而产生的问题也最常见。与Form相关的常见问题大致分为如下的四类问题。

第一类问题:如何控制窗体的显示顺序;

第二类问题:窗体之间的对象如何相互引用或操作;

第三类问题:如何处理窗体唯一性问题;

最后一个问题:如何合理的关闭窗体或程序。 阅读全文>

 

如何在MDI中使子窗体只保留一个实例

 

   由于在MDI中,子窗体会很多,那么在我以前一篇文章中所提到的方法就有些繁琐了。为了能适应多个子窗体,并对于每个子窗体只保留一个实例,那么我就用一个新的方法来替换,即用反射方法来作处理。阅读全文>


程序以及窗体运行的唯一性汇总


如何弹出一个模式窗口来显示进度条

  最近看了好多人问这方面的问题,以前我也写过一篇blog,里面说了如何在子线程中控制进度条。但目前大多数环境,需要弹出模式窗口,来显示进度条,那么只需要在原先的基础上稍作修改即可。阅读全文>

如何用C#做一个悬浮窗口程序


如何用C#写一个简单的Login窗口

   最近,看到网上经常会问如何进行窗口跳转,大多数的问题都是牵扯到Login窗口。其实,在Visual Studio 6以来,比较正确的做法,是判断Login窗口的返回值,然后决定是否打开主窗体,那么在C#中也是一样的。阅读全文>

主窗体和子窗体之间如何相互操作对方的控件

 

如何在子线程中操作窗体上的控件

 

如何使自己的程序只运行一次

 

如何在MDI程序中把子窗体菜单合并到主窗体上

 

如何用C#做一个类似于桌面插件的程序

 

如何在C#中用弹出窗口来对DataGrid的某一列进行修改

 

如何在WinForm中对DataGrid进行分页显示

 

如何用C#来部署数据库

 

如何用C#来部署数据库续

 

2.MSPROJECT开源技术

【翻译】C#中使用Setting保存用户自定义窗体位置及大小

【翻译】自定义的打开文件对话框

【翻译】我的第一个C#程序:地址簿通讯录

【翻译】移动时自动吸引你的Form到一个窗体的边框

【翻译】C#隐藏桌面上的所有窗口

【翻译】我的资源管理器

【翻译】窗体属性保存器

【翻译】在 MDI 应用中如何确保窗体只有一个实例

【原创】阻止窗口关闭的方法

 

 

3.【翻译】另一种SplashForm

介绍

我以前曾经发表过一片关于使用Win32 APIs的闪屏的文章 CSplash - A Splash Window Class 。下面这篇文章是介绍同样的过程怎么在.NET framework里实现。

准备图片

选择一个你比较喜欢的用在闪屏的图片。选择你喜欢的一部分去做为显示的部分,用特殊的颜色去填充不显示的部分。

4.【翻译】一个Splash Screen控件

翻译
Lloyd Franklin.著Splash Screen Control

简介
回首以前,我到处寻找Splash Screen的例子,不过我找不到一个符合我的需求的例子。我需要一个简单的、容易复用的、可靠的、安全的——没有线程或子控件;并且,我希望它能够在启动的时候立即出现并停留在屏幕上,在必要的时候消失,当然你可以随时让它复现。我也看到有不少基于.NET下Win Form做的例子,而,这篇文章中,我将使用System.Runtime.InteropServices创建一个继承与控件类的最顶层窗口。我非常喜欢这个方案,因为,我发现它很容易定制。

 

5.【翻译】检测Form上控件内容是否有所改变

翻译

Duncan Edwards Jones. 著Form Changed Control

简介

本文是一个基于System.ComponentModel.IExtenderProvider 的组件,它允许你列举出Form上所有已经改变过内容的控件,以决定是否需要提示用户保存。

 

6.创建不规则窗体工程文件.rar   WindowsMoveDemo.rar(在桌面右底部弹出一个慢慢向上移动的窗口)   

7.【翻译】C++中无窗体界面制作
 

[翻译原文地址]: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

9.【翻译】自定义的打开文件对话框
 

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