Windows Forms简介

原创 2002年01月01日 14:33:00

Windows Forms(Windows窗体)是一个新的窗体包,它使得开发人员可以创建基于Windows的应用程序,来充分利用Microsoft Windows操作系统中丰富的用户界面特性。Windows Forms是新的Microsoft .NET Framework的一部分,它使用了许多新技术,包括一个公共应用程序框架、受控的执行环境、集成的安全性和面向对象的设计原则。此外,Windows Forms完全支持快速、容易地连接XML网络服务和在ADO.NET数据模型基础上创建丰富的、数据感知(data-aware)的应用程序。利用Visual Studio中新的共享开发环境,开发人员可以使用任何支持.NET平台的语言,包括Microsoft Visual Basic和C#创建Windows Forms应用程序。

创建Windows Forms应用程序

开发人员可以像今天创建基于Visual Basic的窗体那样创建Windows Forms应用程序(尽管使用Windows Forms,他们可以在Visual Studio中的所有语言,而不仅仅是在Visual Basic中获得相同的生产力)。在下面的.图象中,你可以看到设计表面用来可视化地用各种控件来安排窗体的布局。要编辑源代码,开发人员只需双击某个控件,然后源代码将显示出来,这使得用户可以迅捷地访问控件和窗体的所有事件模型。

menueditor.gif
图 1. 创建Windows窗体

可视化继承(Visual Inheritance)

可视化集继承是Windows Forms中的一个重要的新特性,它将提高开发人员的生产力,促进代码的重用。例如,一个组织可以定义一个包含诸如公司徽标,可能还包括一个公共工具栏等项目的标准的基本窗体。这个窗体可以通过继承由开发人员使用,并进行扩展以满足特定应用程序的需求,而同时在组织内使用公共的用户界面。基本窗体的创建者可以指定哪些元素可以被扩展,哪些元素必须按原样使用,这样可以确保窗体能够被适当地重用。

精确的窗体设计

当开发人员设计Windows Forms应用程序的外观和感觉时,将拥有空前水平的控制能力和生产力。菜单设计器(Menu Designer)、控件锚定(Control Anchoring)、控件入坞(Control Docking)和其他特性使得开发人员可以更精确地创建基于Windows的用户界面。

利用菜单设计器,开发人员可以既快速又容易地给窗体添加菜单,修改菜单,然后在不允许应用程序的情况下查看菜单的外观。利用控件锚定,窗体上的控件将更有效,从而使得窗体能够在用户调整窗体的大小时自动调整控件的大小。利用窗体入坞(Control Docking)特性,控件可以停靠在窗体的任何一侧,从而在布局方面提供了更大的灵活性。

anchor.gif
图 2. 控件锚定(Control Anchoring)

可以使用现有的ActiveX控件,并且它们可以在任何窗体上运行,从而可以保护在现有技术方面的投入。

新控件-包括链接标签(Link Label)、托盘式图标(Tray Icon)、打印预览(Print Preview)-为开发人员提供了额外的通用功能。链接标签(Link Label)提供了类似HTML的到特定URL的链接。使用这个控件显示的文本将显示有下划线,并且当鼠标移动到上方时,光标将变成一只手,当被点击时将引起一个可动作的事件。托盘式图标(Tray Icon)使得开发人员可以创建在Windows托盘中运行的应用程序,这类似于Microsoft SQL Server Service Manager(服务管理器)。Windows Forms还提供了一个打印框架,使得定义变得非常简单,它包括一个带有打印预览(Print Preview)控件的打印预览(Print Preview)窗口。

开发人员可以使用Windows Forms创建支持最广泛的用户群的应用程序。Windows Forms控件实现了Microsoft Active Accessibility程序设计接口,这使得可以直接创建支持诸如屏幕阅读器的辅助功能的应用程序。

功能强大的图形功能

Windows Forms 应用程序采用了GDI+,提供了更丰富的图形控件,包括多更多图形格式的支持。开发人员可以很容易地使用高端的图形特性,如Windows 2000支持的alpha混合、处理梯度连贯性(manipulating gradients consistency)、OnPaint事件的双缓冲,以及透明的分层窗口等特性。利用这些特性,开发人员可以创建更丰富更复杂的、具有客户需求的性能的图形化应用程序。

更低的总拥有成本

Windows Forms不仅仅是提供了一种创建丰富的基于Windows的应用程序的重要方法。开发人员还将从容易的部署能力和集成的应用程序安全模型中获益匪浅。Windows Forms利用了Microsoft .NET平台的版本处理(versioning)和部署特性,提供了更低的部署成本和更高的应用程序健壮性。这极大地降低了在Windows Forms中编写的应用程序的维护成本(总拥有成本)。

使用Windows Forms应用程序,不需要将应用程序部署到最终用户的桌面上。用户可以通过在浏览器中输入一个URL地址即可调用这个应用程序。应用程序将下载到客户端机器中,在一个安全的执行环境中运行,然后在完成后自我删除。

对于希望物理地将应用程序部署到桌面上的组织来说,不需要经历消耗资源的安装过程。简单地将应用程序复制到桌面上,然后它就可以工作了。Windows Forms提供了所需的灵活性,使得应用程序能够以与你的企业相适应的方式为最终用户使用。

结论

Windows Forms给开发人员提供了创建基于Windows的应用程序所需的多种技术。不仅有用于调整用户界面的新控件和特性,Windows Forms还提供了灵活的部署和集成的安全性。创建基于Windows的应用程序的开发人员,使用Windows Forms将比以前任何时候更有生产能力。

关于Forms 验证的完整解决方案

关于Forms 验证的完整解决方案代码! 下载地址: http://files.cnblogs.com/enric1985/LogSite-CustomSetting.rar 希望对于大家...
  • nic7968
  • nic7968
  • 2014年03月10日 04:29
  • 898

POJ3294Life Forms【后缀数组】

Language: Default Life Forms Time Limit: 5000MS   Memory Limit: 65536K Total Sub...
  • R1986799047
  • R1986799047
  • 2015年08月21日 18:54
  • 362

POJ3294---Life Forms(后缀数组,二分+给后缀分组)

DescriptionYou may have wondered why most extraterrestrial life forms resemble humans, differing by ...
  • Guard_Mine
  • Guard_Mine
  • 2015年04月04日 10:47
  • 1358

1-2 Windows下启动函数(真正的入口函数) 之 寻找入口函数与_security_init_cookie

  • coolbrucekai
  • coolbrucekai
  • 2014年06月20日 15:17
  • 1584

poj_3294 Life Forms(后缀数组+二分)

Life Forms Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 15288   Accepted: 4493...
  • christry_stool
  • christry_stool
  • 2017年02月14日 00:47
  • 116

UVa 11107 - Life Forms (后缀数组 求出现K次的串 根据height分组)

UVA - 11107 Life Forms Time Limit: 6666MS   Memory Limit: Unknown   64bit IO Format:...
  • zhaosdfa
  • zhaosdfa
  • 2014年09月23日 10:21
  • 586

whoosh使用简介

转自:http://www.cnblogs.com/chang/archive/2013/01/10/2855223.html whoosh,纯python的全文搜索引擎。这里记录简单使用,...
  • shanliangliuxing
  • shanliangliuxing
  • 2013年06月05日 15:32
  • 1417

Xamarin.Forms 用户界面——控件——布局——RelativeLayout

RelativeLayout 使用RelativeLayout创建适合任何屏幕尺寸的UI。 PDF用于离线使用 下载PDF 示例代码: 布局 BusinessTumble示例 ...
  • pfjgeng
  • pfjgeng
  • 2017年08月14日 10:02
  • 506

主站和虚拟目录之间的Forms身份验证

最近项目中将一个网站的项目拆开,分别bu
  • king_wgm
  • king_wgm
  • 2014年08月20日 10:49
  • 881

如何处理Windows Forms程序中未处理的异常

如果Windows Forms程序中有未被捕获的异常,会导致程序崩溃并且给用户造成不良的印象。例如下面的程序,模拟了一个未捕获的异常:   按钮事件为: private void butto...
  • gws1229
  • gws1229
  • 2014年08月28日 14:30
  • 383
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Forms简介
举报原因:
原因补充:

(最多只允许输入30个字)