先来看一些励志名言来激励一下自己吧! 

励志名言:每一发奋发奋的背后,必有加倍的赏赐

1.有无目标是成功者与平庸者的根本差别。

2.成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。

3.当一个人先从自我的内心开始奋斗,他就是个有价值的人。

4.时间给勤勉的人留下智慧的力量,给懒惰的人留下空虚和悔恨。

5.如果可以重新活一次,每个人都将是成功者。

1.创建一个windows应用程序,一共包括四步

(1)打Visual Studio 开发工具1

(2)选择”文件”→”新建”→”项目”命令

(3)项目类型选择”VisualC#”

(4)模板选择”windows窗体应用程序”,然后选择好位置,为项目命名,单击确定按钮.

新建一个windows窗体应用程序后会出现这样一个画面

左侧出现一个”工具箱”窗口,里面包含了很多控件,可以直接把他们拖到窗体上

中间的部分是窗体设计,可以放置从工具箱中拖出来的控件

右下方的”属性窗口”,是用来设置窗体或控件的各种属性

可以按F5拉运行此窗体

 2.关于windows应用程序窗体项目的注意点:

01.一个解决方案下可以包含多个项目,一个项目下可以包含多个窗体

02.控件的Name属性相当于隐藏值,一定要改

真正在窗体显示内容的是Text属性

03.如果一个解决方案下有多个项目,如何设置某个项目为启动项??

解析:可以对项目点击右键→设为启动项

3.如何设置一个项目下的某个窗体为启动窗体

通过更改Program.csMain方法中最后一行代码设置

4.认识Windows程序

①Form1.cs:窗体文件,程序员对窗体编写的代码一般都存放在这个文件夹中.

②Form1.Designer.cs:窗体设计文件,其中的代码是由Visual Studio 自动生成的,一般不需要修改.

③Form1.resx:资源文件,用来配置当前窗体所使用的字符串,图片等资源.

④Program.cs:主程序文件,其中包括程序入口的Main()方法.

5.窗体的主要属性和方法

1.常用属性

Name属性:用来获取或设置窗体的名称。
WindowState属性:用来获取或设置窗体的窗口状态。
StartPosition属性:用来获取或设置运行时窗体的起始位置。
Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。   
Width属性:用来获取或设置窗体的宽度。
Heigth属性:用来获取或设置窗体的高度。
Left属性:用来获取或设置窗体的左边缘的 x 坐标(以像素为单位)。
Top属性:用来获取或设置窗体的上边缘的 y 坐标(以像素为单位)。
ControlBox属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。
MaximumBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。
MinimizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。
AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当用户按 ENTER 键时就相当于单击了窗体上的该按钮。
CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当用户按ESC键时就相当于单击了窗体上的该按钮。
Modal属性:该属性用来设置窗体是否为有模式显示窗体。
ActiveControl属性:用来获取或设置容器控件中的活动控件。
ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。
AutoScroll属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。
BackColor属性:用来获取或设置窗体的背景色。
BackgroundImage属性:用来获取或设置窗体的背景图像。
Enabled属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。
Font属性:用来获取或设置控件显示的文本的字体。
ForeColor属性:用来获取或设置控件的前景色。
IsMdiChild属性:获取一个值,该值指示该窗体是否为多文档界面 (MDI) 子窗体。
 IsMdiContainer属性:获取或设置一个值,该值指示窗体是否为多文档界面 (MDI) 中的子窗体的容器。
KeyPreview属性:该属性用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。
MdiChildren属性:数组属性。
MdiParent属性:该属性用来获取或设置此窗体的当前多文档界面 (MDI) 父窗体。
ShowInTaskbar属性:该属性用来获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体。
Visible属性:该属性获取或设置一个值,该值指示是否显示该窗体或控件。
Capture属性:如果该属性值为true,则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的范围内。   
2.方法
 Show方法
该方法的作用是让窗体显示出来,其调用格式为:
窗体名.Show();
Hide方法
该方法的作用是把窗体隐藏出来,其调用格式为:
窗体名.Hide();
Close方法
该方法的作用是关闭窗体。其调用格式为:
窗体名.Close();
ShowDialog()方法
该方法的作用是模式化显示窗体其调用格式为:

窗体名.ShowDialog();
六.基本控件
1.标签(Label):用于显示用户不能编辑的文本或图像.常使用它对窗体上的其他各种控件进行标注或注明.
Label标签的主要属性:  
Image:在标签上显示的图像
Text:在标签上显示的文本
 
2.文本框(TextBox):用于获取用户输入的信息或向用户显示的文本.
文本框的主要属性:
MaxLength:指定可以在文本框中输入的最大字符.
Multilint:表示是否可在文本框中输入多行文本.
PasswordChar:指示在作为密码框是,文本框中显示的字符,而不是实际输入的文本.
ReadOnly:指定是否允许编辑文本框中的文本.
Text:与文本框关联的文本.
3.组合框(ComboBox):它结合了文本框和列表控件的特点,允许用户在组合内输入文本或从列表中进行选择.
组合框的主要属性和事件:
Item:组合框中的项.
DropDownStyle:定义组合框的风格,指示是否显示列表框部分,是否允许用户编辑文本框部分.
Text:与组合框关联的文本.
SelectedIndex:当前选定项目的索引号,列表框中每个项都有一个索引号,从0开始.
SelectedItem:获取当前选定的项.
事件:
Click:单击控件是发生的事件.
SelectedIndexChanded:在Selectedindex属性修改后发生.
4.按钮(button):允许用户通过单击来执行的操作.
主要属性和事件:
属性:
Enable:布尔值,表示控件是个否可用,True表示可用,False:表示不可用,如果控件不可用,运行后显后为灰色.
Text:按钮上显示的文本.
TextAlign:按钮上文本的对齐方式.
事件:
Click:单击控件是发生.
eg:用上面写道的控件写一个例子:
七.如何设置让窗体运行后无法改变大小
1.通过设置窗体的FormBorderStyle属性:把属性值改为FixedSingle,运行窗体后,不可以拖拽窗体的大小.
2.通过设置窗体的MaximizeBox属性:把属性值改为fasle后,运行窗体后,窗体不可最大化.
3.通过设窗体的MinimizeBox属性:把属性值改为false后,运行窗体后,窗体不可最小化.
 八.事件处理.

1.事件处理程序是绑定到事件的方法。当引发事件时,执行事件处理程序内的代码。每个事件处理程序提供两个

使您得以正确处理事件的参数。

eg:

Button控件的  Click 事件的事件处理程序。

 
private void button1_Click(object sender, System.EventArgs e)
{

}

第一个参数,sender,提供对引发事件的对象。上面示例中的第二个参数 e 传递特定于要处理的事件的对象。通过引用对象的属性

(有时引用其方法)可获得一些信息,如鼠标事件中鼠标的位置或拖放事件中传输的数据。

2.编写事件处理程序的步骤:

1.单击要创建事件处理程序的窗体或控件.

2.在属性窗口中单击"事件"按钮.

3.双击要处理的事件定位到事件处理的方法.

4.编写处理代码.

九.增强窗体有好性.

在系统中,删除文件是常常会弹出:你确定要删除该文件之类的消息框以便对执行的操作进行确认.

1.MessageBox消息框

在Windows中,消息框是一个MessageBox对象,如果想要创建消息框,就要用到MessageBox.show();方法.

常用的消息框有四个类型.

01.MessageBox.Show(要显示的字符串);

02.MessageBox.Show(要显示的字符串,消息框的标题);

03.MessageBox.Show(要显示的字符串,消息框的标题,消息框按钮);

04.MessageBox.Show(要显示的字符串,消息框的标题,消息框按钮,消息框图标);

第三个参数MessagBoxButton的作用是设置消息框显示的按钮.可以通过"."的形式来选择需要按钮的类型.

eg:

MessageBoxButton.AbortRetryIgnore

显示的按钮是:

MessageBoxButton.OK

显示的按钮是:

MessageBoxButton.OKCancel

显示的按钮是:

MessageBoxButton.RetryCancel

显示的按钮是:

MessageBoxButton.YesNo

显示的按钮是:

MessageBoxButtons.YesNoCancel

显示的按钮是:

第三个参数MessageBoxIcon的作用是设置消息框显示的图标.可以通过"."的形式来选择需要的图标.

MessageBoxIcon.Information

显示的图标为:

MessageBoxIcon.Error

显示的图标为:

MessageBoxIcon.Exclamation

显示的图标为:

MessageBoxIcon.Question

显示的图标为:

十.窗体跳转

要想实现Formone跳转到Formtwo窗体,必需用到show();方法.

必需先new出Formtwo对象.在通过对象.Show();

Private void btnLogin_Click(object sender, EventArgs e)
{

Formtww frm=new Formtwo();
frm.Show()
}

十一窗体传值

从Formone窗体传递到Formtwo窗体,可以在Formtwo窗体中定义一个公有的变量,然后在Formone窗体的登陆按钮事件中编写如下代码:

第一步.

在Formtwo的代码编辑区写一个公有变量

  //定义一个公有变量name来装载用户在Formone中输入的用户名
        public string name;

第二步

在Formone登录按钮的事件中写如下代码:

 /// <summary>
        /// 点击登陆触发的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnlogin_Click(object sender, EventArgs e)
        {
            //new出Fromtwo对象
            Formtwo frm = new Formtwo();
            //txtLoginname.Text代表用户输入的用户名,把它赋值给Formtwo窗体中的公有变量name
            frm.name = txtLoginname.Text;
            //显示Formtwo窗体
            frm.Show();
        }

的获取用户名的按钮事件中写如下代码:

   //定义一个公有变量name来装载用户在Formone中输入的用户名
        public string name;
        /// <summary>
        /// 点击获取用户名触发的事件
        /// </summary>

第三步:

在Formtwo /// <param name="sender"></param> /// <param name="e"></param> private void btngetname_Click(object sender, EventArgs e) { //把公有变量里面储存的值赋值给txtname.Text. txtname.Text= name; }

运行结果:

十二.怎样退出整个应用

在窗体的FormClosing事件中,书写Application.Exit();

写完了,谢谢看到这里的人能抽出宝贵的时间来看,相信你们也学到的很多,希望得到大家的支持,

我也是一个刚入门的,如果写的有不足之处,望大神们给予指点.

QQ:2991635691

email:18813091329@163.com

Windows程序----初识Windows程序的更多相关文章

  1. 原创 C++应用程序在Windows下的编译、链接:第三部分 静态链接(二)

    3.5.2动态链接库的创建 3.5.2.1动态链接库的创建流程 动态链接库的创建流程如下图所示: 在系统设计阶段,主要的设计内容包括:类结构的设计以及功能类之间的关系,动态链接库的接口.在动态链接库中 ...

  2. 原创 C++应用程序在Windows下的编译、链接:第二部分COFF/PE文件结构

    2.1概述 在windows操作系统下,可执行文件的存储格式是PE格式:在Linux操作系统下,可执行文件的存储格式的WLF格式.它们都是COFF格式文件的变种,都是从COFF格式的文件演化而来的. ...

  3. 原创 C++应用程序在Windows下的编译、链接:第一部分 概述

    本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...

  4. 当程序以Windows Services形式启动时当前路径不对

    当程序以Windows Services形式启动时当前路径不对 @(操作系统)[博客|dotNet] 很多时候我们需要将我们的程序写成利用Windows服务的形式来让它能够自启动.今天遇到一个问题,当 ...

  5. WPF程序在Windows 7下应用Windows 8主题

    这篇博客介绍如何在Windows 7下应用Windows 8的主题. 首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同.这是为什么呢?WPF程序启动时会加载 ...

  6. 黄聪:使用srvany.exe将任何程序作为Windows服务运行

    srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说sr ...

  7. 使用Code::blocks在windows下写网络程序

    使用Code::blocks在windows下写网络程序 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创 ...

  8. 使用srvany.exe将任何程序作为Windows服务运行

    使用srvany.exe将任何程序作为Windows服务运行 2011 年 3 月 7 日 !本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使 ...

  9. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

随机推荐

  1. 收藏所用C#技术类面试、笔试题汇总

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  2. SequoiaDB 系列之一 :SequoiaDB的安装、部署

    在分析或者参与一个开源项目之前,了解项目构建的目的是有必要的. 既然SequoiaDB是NoSQL数据库产品,则必然存在于传统关系型数据库相同的功能点:数据的增.删.改和查询(CRUD). 先了解怎么 ...

  3. ios开发怎么获取输入的日期得到星期

    + (NSString*)weekdayStringFromDate:(NSDate*)inputDate { NSArray *weekdays = [NSArray arrayWithObject ...

  4. “耐撕”团队2016.04.19站立会议

    1. 时间 : 20:20--20:40  共计20分钟 2. 人员 : Z   郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客 ...

  5. Jetty+json-lib库抛异常的问题解决过程(java.lang.NoClassDefFoundError: net/sf/json/JSONObject)

      一.之前抛异常是将json库改成了fastjson解决的,参见: http://www.cnblogs.com/gossip/p/5369670.html     异常信息:     二.解决步骤 ...

  6. 【kAri OJ】621. 廖神的树

    时间限制 3000 ms 内存限制 65536 KB 题目描述 廖神和男神在植树节的时候准备玩一个奇怪的游戏,他们现在有一个被分割成n*n个格子的矩形土地,他们现在准备往这个地里种树,但这个种树游戏必 ...

  7. 【kAri OJ】wzt的树

    时间限制 1000 ms 内存限制 65536 KB 题目描述 改革春风吹满地,中国人民真争气!家庭联产承包责任制以后,全国人民争想发家致富.wzt于是包了一个山头来种植金丝楠木,花了好几年种了N棵树 ...

  8. POJ-1273 Drainage Ditches 最大流Dinic

    Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65146 Accepted: 25112 De ...

  9. WDCP(WDlinux Control Panel) mysql/add_user.php、mysql/add_db.php Authentication Loss

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 http://www.wooyun.org/bugs/wooyun-2010-06 ...

  10. TCP/IP详解 笔记十

    IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...