zoukankan      html  css  js  c++  java
  • WPF最简单的窗体实现,对比WinForm

    .net framework3.0 引入了WPF,WCF,WWF,CardSpace等新的类库,本身还是需要CLR2.0
    对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());
            }

        }

    }

    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通过在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());
  • 相关阅读:
    答读者问(10):有关对博客的评价及个人技术发展路线等问题
    EasyUI学习之menu and button(菜单和按钮)
    二分查找
    【Android UI】色板
    很好的理解遗传算法的样例
    关于提高UDP发送效率的方法
    Log4cpp介绍及使用
    四个好看的CSS样式表格
    SpringMVC+easyUI 分页,查询 (完整的CRUD)
    [MODX] 1. Template *
  • 原文地址:https://www.cnblogs.com/flaaash/p/1049359.html
Copyright © 2011-2022 走看看