F#探险之旅(八):使用F#开发Windows应用程序
2008-12-17 22:11
239 查看
我们身在何处?
前面写过的随笔主要关注的是F#与FP的基本概念,对UI涉及很少。我们知道,没有UI就没法与用户进行交互,所以写两篇随笔来了解一下这方面的内容。本文主要关注的是如何使用F#开发WinForm应用程序,后面还会介绍如何使用F#开发ASP.NET应用程序。
不过说真的,我对WinForm开发了解不多,所以如果有不妥之处,欢迎您的指正。
WinForm中的基础类型是System.Windows.Forms.Form类,通过它我们可以创建一个窗体,在窗体上我们可以根据需要进行绘制。绘制的时候我们可以选择使用.NET提供的API手工“画”出一些图形,比如像素着色、直线、圆等等,也可以使用.NET里面的一些标准控件,比如文本框、按钮等等。接下来基于Windows应用的事件驱动的特性,通过事件(Event)和事件处理函数(Event Handler)使用户可与程序进行交互。另外,如果标准控件或窗体不能满足需要,我们还可以对其进行扩展,创建用户控件和自定义控件。
下面就来看看如何实现这些过程。
分析
在使用C#开发的WinForm应用中可以看到,我们创建的新窗体类继承了System.Windows.Forms.Form类,在程序的入口函数Main中,有一行关键的代码:
F# Code
Application.EnableVisualStyles()
这样就可以使用XP/Vista的可视化样式了。程序的运行效果为:
仅使用F#开发UI之外的代码
得益于F#与其它.NET语言良好的互操作性,我们可以在C#中开发UI部分,然后调用F#类库,这个过程跟调用C#开发的类库相比没有很大的区别,在此就不赘述了。
其它
关于WinForm开发的主题还有创建用户控件、自定义控件等,这方面已经有大量的资料了,相信使用本文的方法,开发起来也不会很难:)
小结
本文主要讨论了如何使用F#开发Windows应用程序。通过分析,确定了三种主要的方法,重点讨论了如何在F#中利用VS中的窗体设计器,这会使WinForm程序的开发简单不少。其中的一个例子是processFinder,它可以获取当前机器上的进程和应用程序信息。
(下载示例代码)
(要了解本人所写的其它F#随笔请查看 F#系列随笔索引)
参考
《Foundations of F#》 by Robert Pickering
《Expert F#》 by Don Syme , Adam Granicz , Antonio Cisternino
Finding and Listing Processes in C#
前面写过的随笔主要关注的是F#与FP的基本概念,对UI涉及很少。我们知道,没有UI就没法与用户进行交互,所以写两篇随笔来了解一下这方面的内容。本文主要关注的是如何使用F#开发WinForm应用程序,后面还会介绍如何使用F#开发ASP.NET应用程序。
不过说真的,我对WinForm开发了解不多,所以如果有不妥之处,欢迎您的指正。
WinForm中的基础类型是System.Windows.Forms.Form类,通过它我们可以创建一个窗体,在窗体上我们可以根据需要进行绘制。绘制的时候我们可以选择使用.NET提供的API手工“画”出一些图形,比如像素着色、直线、圆等等,也可以使用.NET里面的一些标准控件,比如文本框、按钮等等。接下来基于Windows应用的事件驱动的特性,通过事件(Event)和事件处理函数(Event Handler)使用户可与程序进行交互。另外,如果标准控件或窗体不能满足需要,我们还可以对其进行扩展,创建用户控件和自定义控件。
下面就来看看如何实现这些过程。
分析
在使用C#开发的WinForm应用中可以看到,我们创建的新窗体类继承了System.Windows.Forms.Form类,在程序的入口函数Main中,有一行关键的代码:
F# Code
Application.EnableVisualStyles()
这样就可以使用XP/Vista的可视化样式了。程序的运行效果为:
仅使用F#开发UI之外的代码
得益于F#与其它.NET语言良好的互操作性,我们可以在C#中开发UI部分,然后调用F#类库,这个过程跟调用C#开发的类库相比没有很大的区别,在此就不赘述了。
其它
关于WinForm开发的主题还有创建用户控件、自定义控件等,这方面已经有大量的资料了,相信使用本文的方法,开发起来也不会很难:)
小结
本文主要讨论了如何使用F#开发Windows应用程序。通过分析,确定了三种主要的方法,重点讨论了如何在F#中利用VS中的窗体设计器,这会使WinForm程序的开发简单不少。其中的一个例子是processFinder,它可以获取当前机器上的进程和应用程序信息。
(下载示例代码)
(要了解本人所写的其它F#随笔请查看 F#系列随笔索引)
参考
《Foundations of F#》 by Robert Pickering
《Expert F#》 by Don Syme , Adam Granicz , Antonio Cisternino
Finding and Listing Processes in C#
相关文章推荐
- F#探险之旅(八):使用F#开发Windows应用程序(转)
- Windows 8实用窍门系列:1.使用Xaml+C#开发第一个Metro Style应用程序
- electron之Windows下使用 html js css 开发桌面应用程序
- 使用C++开发Leap Motion应用程序——Windows下开发环境配置
- 在Windows下使用GTK+开发GUI应用程序
- Qt入门-使用QT+VS2008开发windows应用程序
- Windows中使用Python和C/C++联合开发应用程序起步
- Windows Store apps开发[3]应用程序栏(AppBar)的使用
- Windows桌面应用程序(1-1-1st) 使用DirectX进行开发的先决条件
- Windows中使用Python和C/C++联合开发应用程序起步(Python/C API应用)
- .NET Framework 4.6 and 4.5 > 开发指南 > 使用 WCF 的面向服务的应用程序 > Windows Communication Foundation (WCF)
- 使用NetBeans开发Java桌面应用程序时修改应用的UI样式为Windows
- 使用.net开发Windows应用程序的过程概要
- Windows 8技巧:Xaml+C#开发第一个Metro Style应用程序的使用
- Windows 8开发 WinRT APP使用其他关联应用程序打开文件
- electron之Windows下使用 html js css 开发桌面应用程序
- 使用QT+VS2008开发windows应用程序 .
- 70-316 使用Microsoft Visual C# .NET and Microsoft Visual Studio .NET 开发及实现基于Windows的应用程序 考点整理
- Qt入门——使用QT+VS2008开发windows应用程序
- 在Windows平台上使用Codeblocks开发基于wxWidgets框架应用程序的开发环境准备