对WinForm想必学员都已经很清楚,就是从System.Forms空间下的Application的静态方法Run传递一个Form类对象实例就OK了.关键代码如下:
System.Windows.Forms.Application.Run(new System.Windows.Forms.Form())
编译方法:
csc /t:winexe SimpleWinForm.cs
/*--===------------------------------------------===---
* 最简单的WinForm:
* Application.Run( new System.Windows.Forms.Form())
* --===------------------------------------------===---*/
using System.Windows.Forms;
namespace Chapter01
{
public class SimpleWinform : Form
{
public SimpleWinform()
{
this.Text = "手工创建的WinForm窗体.";
this.Opacity = .5;
}
}
public class RunSimpleWinform
{
public static void Main_SimpleWinform()
{
//Application.Run(new Form());
Application.Run(new SimpleWinform());
}
}
}
* 最简单的WinForm:
* Application.Run( new System.Windows.Forms.Form())
* --===------------------------------------------===---*/
using System.Windows.Forms;
namespace Chapter01
{
public class SimpleWinform : Form
{
public SimpleWinform()
{
this.Text = "手工创建的WinForm窗体.";
this.Opacity = .5;
}
}
public class RunSimpleWinform
{
public static void Main_SimpleWinform()
{
//Application.Run(new Form());
Application.Run(new SimpleWinform());
}
}
}
WPF窗体必须引用4个类库:PresentationCore, PresentationFramework, System, WindowsBase,然后会发现Forms命名空间下面多了Windows类,这就是WPF的窗体对象. 编译完成后可以用reflector对生成的执行文件反编译,参照reference就可以知道引用了那些dll库。
编译方法:
csc /t:winexe SimpleWPFWindow.cs /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\PresentationFramework.dll" /R:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\WindowsBase.dll" /R:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\PresentationCore.dll"
/*--===------------------------------------------===---
* WPF实现示例:
* 引入类库:PresentationCore, PresentationFramework,WindowsBase,
* --===------------------------------------------===---*/
using System;
using System.Windows;
namespace Chapter01
{
class WPF_Window
{
[STAThread]
public static void Main()
{
System.Windows.Window window = new Window();
window.Title = "手工实现的WPF窗体";
window.Show();
Application application = new Application();
application.Run();
}
}
}
WPF桌面窗体和WinForm对比:* WPF实现示例:
* 引入类库:PresentationCore, PresentationFramework,WindowsBase,
* --===------------------------------------------===---*/
using System;
using System.Windows;
namespace Chapter01
{
class WPF_Window
{
[STAThread]
public static void Main()
{
System.Windows.Window window = new Window();
window.Title = "手工实现的WPF窗体";
window.Show();
Application application = new Application();
application.Run();
}
}
}
WPF通过在System.Windows命名空间下面加新类Window和Application分别实现窗体和程序线程;
System.Windows.Window window = new Window();
System.Windows.Application application = new Application();
而Winform通过.net2.0提供的System.Windows.Forms命名空间下的Form类实现.
System.Windows.Forms.Application.Run(new System.Windows.Forms.Form());