Java进击C#——应用开发的WinForm环境

本章简言

上一章笔者讲到有关IO文件操作类,精通什么处理公事流。从即无异章节开笔者将执教相对较高档的知识点。而本章笔者就针对WinForm开发的知识点举行教学与引。现在成千上万业务仍旧面向于B/S情势之开,JAVA也未此外。所以JAVA的程序员对J2EE部分的知识特别精晓。却对J2SE的知识点半亮半解。甚至发出部分单独是听之任之罢要以。笔者于入JAVA集团开在此之前为一度用了Awt和Swing开发PC端的应用程序。类似于库存管理与商号通信等利用。相信做了之人数还知情——小小的一个工作就是花掉很多时刻才会开发出。精晓C#的WinForm开发而虽会意识PC端的软件如故C#相比较适合。此外自本章初始笔者想JAVA读者们能起切换学习思路。不要以以JAVA这边的文化来学了。因为作者有过C#写出JAVA的代码。

第一个WinForm应用

被我们新建一个WinForm项目。然后来学习WinForm是何等开发之。接纳Visual
Studio开发工具的“文件”》“新建”》项目。

图片 1

面的图片相信我们都非陌生了咔嚓。点击“确定”按掉。生成项目如下

图片 2

关于路协会笔者就非多说了。在《Java进击C#——项目支付条件》章节中就教了大部分了。不晓得的读者可错过看望。这边俩单到是没教了。如下

Form1.cs文本:这些就是一个窗体。JAVA的JFrame不亮您通晓。有少数好像了。

Program.cs文件:这之中存了运用的进口计。

第一为大家看一下Program.cs文件中代码吧。让咱询问一下C#输入的早晚都开了头什么。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Windows.Forms;
 5 
 6 namespace WinFormExample
 7 {
 8     static class Program
 9     {
10         /// <summary>
11         /// 应用程序的主入口点。
12         /// </summary>
13         [STAThread]
14         static void Main()
15         {
16             Application.EnableVisualStyles();
17             Application.SetCompatibleTextRenderingDefault(false);
18             Application.Run(new Form1());
19         }
20     }
21 }

面的代码都是自动生成的。那么可免得以改呢?当然可以了。下面的Application.Run方法大家蛮爱就扣留了解了。实例化一个窗体对象new
Form1()。Run方法就是是运行此窗体。那么地点的EnableVisualStyles方法与SetCompatibleTextRenderingDefault方法吗?笔者不得不按F12进来看了。

     //
        // 摘要: 
        //     启用应用程序的可视样式。
        public static void EnableVisualStyles();

      //
        // 摘要: 
        //     将某些控件上定义的 UseCompatibleTextRendering 属性设置为应用程序范围内的默认值。
        //
        // 参数: 
        //   defaultValue:
        //     用于新控件的默认值。如果为 true,则支持 UseCompatibleTextRendering 的新控件使用基于 GDI+ 的 System.Drawing.Graphics
        //     类进行文本呈现;如果为 false,则新控件使用基于 GDI 的 System.Windows.Forms.TextRenderer 类。
        //
        // 异常: 
        //   System.InvalidOperationException:
        //     您只能在 Windows 窗体应用程序创建第一个窗口之前调用此方法。
        public static void SetCompatibleTextRenderingDefault(bool defaultValue);

见状官方的印证。笔者仍然发生一些不明了。所以笔者就将第一术(EnableVisualStyles)给注脚掉。看看会起什么。结果运行通过了。可是长像有少数好。如下

诠释掉从前

图片 3

讲明掉下

图片 4

望了吧。按掉彰显力量有一些请勿一样子。也许这就是是可视样式吧。当然,网络达到发出同样种植说法是这样子:EnableVisualStyles方法表示一旦控件和操作系统协助视觉样式,则控件将因视觉样式举办绘图。那么SetCompatibleTextRenderingDefault方法吧。看了法定的求证就是知道假使错过询问一下关于Graphics类和TextRenderer类的分了。俩者都是决定控件上文本呈现的问题。具体哪些自觉着读者们依然自己失去摸索。网络直达呢出连锁的素材。若是不了解也从不事。因为及时并无影响您公司及的开。

说了这么多倒从未谈到咋样充实扭按在窗体里面。这么些就是是Visual
Studio的有力的远在。一可你进去WinForm开发就得要询问一个视图——工具箱。一般的场地工具箱是以Visual
Studio的左。不过这里暴发一些比方留意。假诺您挑了工具箱却未曾入选窗体的语句。那么工具箱里什么啊并未。所以恳请双击Form1.cs文书。这多少个上左手就会合活动切换至工具箱。如图下

图片 5

斯时就是可以起工具箱中拖来而想只要之控件。没有错。就是拖延出来,放到对应的窗体地点就可了。就是dreamweaver软件设计的可视化编程一样子。

好了。拖来一个随扭放到Form1.cs窗体上。什么吗毫无讲双击按掉就可以了。如下就是双击button1。这么些时刻你就意识跑至对应的末尾代码界面去了。如下代码有。

图片 6

C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WinFormExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

观望了代码笔者就领悟了。可视化窗体卓殊给告诉Visual
Studio我们设什么样子的窗体界面。然后Visual
Studio后台就相会转对应之代码。什么说也?大家事先看一下代码有吧。其中起一个关键字partial。意思是有类。部分类是看重有时候类里面的代码太多尽杂了。看起会一定的难为。那么有些类即可以管代码区分出放到不同文件然则类名相同的类似中。当然编译之后会活动把她们组建成一个近似。不管什么样子。我们视Form1继承了Form窗体。相当于JAVA里面很多窗体都是继承JFrame是一个性质的。相信不用笔者多说。还记得刚才双击button1呢?事实上是告Visual
Studio我若叫button1扭转按设置点击事件。所以private void
button1_Click(object sender, 伊芙(Eve)ntArgs
e)就是针对性应button1扭曲按的点击事件了。

吓了事先停住,大家事先拿下做扫尾大家在来讲一下有关的知识点。我们当此波写一个弹出Hello
world的机能吧。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 
10 namespace WinFormExample
11 {
12     public partial class Form1 : Form
13     {
14         public Form1()
15         {
16             InitializeComponent();
17         }
18 
19         private void button1_Click(object sender, EventArgs e)
20         {
21             MessageBox.Show("Hello world");
22         }
23     }
24 }

运转点击扭按。结果如下。

图片 7

WinForm环境

还记上边讲到双击button1固然可进来后代码界面。当然你为只是接纳相应之窗体。右击》查看代码。同样子可以进后台代码界面。对于领悟背后代码界面从前笔者觉得大家或看一下Form.cs文件。如图下所示

图片 8

咱见到Form1.cs文件点开之后,下边会并发三单公文。

Form1.Designer.cs:也是前面代码有。只是登时无异于有是Form1类的有的类公事。重假使加大关于窗体组装的代码。

Form1.resx:是国际化设置的文件。假使想要用他的语句,请留心要拿走访修饰修改一下。就是不怕吓比JAVA的Properties文件发出少数像。

图片 9

Form1:也是后台代码。首如果放开用户操作控件或是窗体的代码。即凡是开发人士开发的地点

好了。那么些时便得无用双击butto1进入后台代码。也可以不用右击》查看代码了。直接双击对应的文件就可了。

WinForm学习

有一个长辈说过学WinForm,请预学控件。当时发出某些未晓所以然。三年过后才懂,如故出肯定的道理的。面对本公司出多时段向未需而针对WinForm有多么的了然。甚至他的音讯通告机制吗非需整治通晓。那么哪些学习决定也?上边的事例里我们无可能一贯让以扭名为button1吧。总要失去修改部分价吧。那个时段将要用一个被属性窗体了。采纳面例子的本掉右击》属性。这些时就是晤面弹来相应的窗体了。如图下。

图片 10

特性窗体是什么一样会从事也?我们当开JAVA窗体的时段,总是要安装以扭所在的地方、按掉的水彩、按掉的名等。没有错。属性窗体就是用来安装这个控件的属于性值了。所以上这个性是得的。当您选中属性部分的时候,属得窗体下边就指向许展现他表明。笔者就是这样子学习的。让作者举一个列子吧。

图片 11     
  图片 12

观察地点了并未笔者修改了俩个地方:Text属性和
Name属性。让我们看一下后台代码的成吧。选中Form1.Designer.cs文件双击。为何是他为?记得下面讲他是组建窗体代码存放地方。

namespace WinFormExample
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows 窗体设计器生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.btnFirst = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // btnFirst
            // 
            this.btnFirst.Location = new System.Drawing.Point(103, 80);
            this.btnFirst.Name = "btnFirst";
            this.btnFirst.Size = new System.Drawing.Size(75, 23);
            this.btnFirst.TabIndex = 0;
            this.btnFirst.Text = "第一个应用";
            this.btnFirst.UseVisualStyleBackColor = true;
            this.btnFirst.Click += new System.EventHandler(this.button1_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 261);
            this.Controls.Add(this.btnFirst);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.Button btnFirst;
    }
}

面青色的代码就是指向承诺改之代码。

性窗体的意向相信大家还知晓了。属性窗体的菜单栏上出多少个按掉。他们的来意分别下借使。

图片 13 :用于按分类排列属性。

图片 14:用于按字母排列属性。

图片 15:用于显示属性。

图片 16:用于体现事件。

下边的列子都是安属性的。那么以扭是不是爆发点击事件等等的风波于哪设置也?那个时候第四独按掉的用意就是出。点击他。就可安装相应的波了。也可学学对应的事件了。

图片 17

交了那里我们还了然什么样错过装各一个控件的特性与作业了。接下来就是是错过询问个控件的企图了。那么工具箱的意向就出来了。如下。

图片 18

看样子工具箱的章笔者就好解控件也起分类。有用于布局之。有用于突显。有用于互动的。有用于访问数。如容器就是用来布局的。相信读者们应该了然什么去打听了咔嚓。

本章总结

本章笔者于哪些学习WinForm举行了教学。同时熟练一下WinForm的开发条件。

相关文章