博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# WinForm开发系列 - Form/Window
阅读量:6862 次
发布时间:2019-06-26

本文共 1904 字,大约阅读时间需要 6 分钟。

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

1.  

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

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

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

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

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

 

 

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

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

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

 

 

 

 

 

 

 

 

 

2.

 

 

3.

介绍

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

准备图片

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

4. 

翻译

Lloyd Franklin.著

简介

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

 

5. 

翻译

Duncan Edwards Jones. 著

简介

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

 

6.   (在桌面右底部弹出一个慢慢向上移动的窗口)   

7.

 

[翻译原文地址]:

   一直以来,Windows应用程序是基于GDI/User 窗口结构的,而这个结构限制了不少地方。当你尝试使用这个内建的控件集,然后简单迅速地得到了一个非常非常漂亮的应用程序的之后,你就会理解这个限制。
   一个无窗体的用户界面并不使用原始的Win32控件。取而代之的是,给屏幕上的每个控件定制图像显示:包括标签、按钮、列表框等等。使用这一种接口以及不是最新的了:大部分很酷的程序都开始“皮肤”,比如WinAmp和MS Media Player。不过skinning只适合一些小的应用程序,它们拥有很少的对话框。如果你正在做一个数据库驱动的程序,你需要一个固定的框架。

那么,来看看Microsoft CRM()应用程序吧,我个人认为,它是最成功的DHTML interfaces()之一。MS CRM 界面非常向 Windows XP,但,同时还有一些其它很酷的特征,如一个导航条、一个适应性非常好的List控件和几个阴影/渐变面板。

8.           

 

9

 

 .NET By 

简介

这是一个可以自定义扩展功能的打开文件对话框。.NET中有OpenFileDialog打开文件对话框类,但是他不被自定义。而这个控件就是可以让你给.NET的OpenFileDialog类添加自己定义的功能。但是因为OpenFileDialog类被定义为sealed的,所以你不能继承它。

 

10.

    今天在整理大学资料的时候,发现自己参加校内一次软件设计大赛的作品,界面实在是有点丑陋:hehe ,不过还是为自己当时的执着和坚持感到幸福,截图如下,有兴趣的朋友可以留下邮箱,帮小弟优化代码。:angel 见笑了~

                        

 

11.

12.类似于QQ的弹出窗口     

13.

14.类似于QQ截图           

 

15.

 

16.仿制Outlook窗体风格    

 

17.多语言切换 

18.输入对话框 

19.定制一个关于对话框 

20.自定义绘制窗体   

 

转载地址:http://htqyl.baihongyu.com/

你可能感兴趣的文章
Flutter Web - 目标全平台开发的Flutter再下一城!
查看>>
RAID-10 阵列的创建(软)
查看>>
小白学爬虫-批量部署Splash负载集群
查看>>
dubbo源码分析-服务端发布流程-笔记
查看>>
小菜鸡进阶之路-First week
查看>>
linux 安装 node
查看>>
“不劳而获”的数字货币真的存在么?
查看>>
k8s拾遗 - Secret
查看>>
Android SparseArray 原理解析
查看>>
PHP类的定义
查看>>
Composer 中国镜像地址配置
查看>>
20165324 前四周总结反思
查看>>
H5在js中向指定的元素添加样式
查看>>
本地通知,UILocalNotification
查看>>
分页---总结
查看>>
前端开发的历史和趋势(转摘阮一峰)
查看>>
Ubuntu 削减非 LTS 支持周期
查看>>
_实用的cms企业后台管理模板
查看>>
菜鸟看Redis(一)
查看>>
matplotlib.pyplot.plot()参数详解
查看>>