VisualStudio开发环境介绍及控件属性、事件
⽬录
1、创建新项⽬
可通过⽂件->新建->项⽬ 命令来创建⼀个新的Windows程序
在这⾥选择创建了⼀个Windows窗⼝程序
(1)⼯具箱窗⼝
⼯具箱提供了Windows应⽤程序的⽤户界⾯控件,这些控件按其使⽤类型划分在不同的选项卡中,⽤户也可以⾃定义选项卡。
(2)窗体设计窗⼝和代码窗⼝
开发窗体应⽤程序⼤部分⼯作都是在窗体设计和代码窗⼝进⾏的。
A、窗体设计窗⼝
建⽴应⽤程序之初,⽤户在窗体上建⽴程序界⾯,⼀决定程序窗⼝运⾏时的外观。如果⼀个应⽤程序包含多个窗⼝,可通过 项⽬->添加->Windows窗体  命令添加新窗体。
B、代码窗⼝
窗体界⾯设计完成后,就必须编写相应的代码,以实现程序功能。代码的编写在代码窗⼝中完成。可通过点击主窗⼝右侧 解决⽅案资源管理器 窗⼝中的按钮进⾏窗⼝和代码的切换(1为代码显⽰,2为设计窗⼝显⽰)
(3)解决⽅案资源管理窗⼝
该窗⼝提供当前运⾏的解决⽅案信息。VS中建⽴的应⽤程序⼜可以称为解决⽅案。⼀个解决⽅案可以包含⼀个或多个项⽬,⽤户可以管理和监控⽅案的各个项⽬,以及构成项⽬的各个⽂件。该窗⼝类似于Windows资源管理器,双击⽂件名查看其代码。
Form1.cs、Form1.Designers.cs和program.cs三个⽂件。其中Form.cs⽂件包含了⽤户编写的源代码,Form1.Designers.cs⽂件包含了⽤户在窗⼝设计界⾯时⾃动⽣成的源代码,⽽program.cs⽂件中包含了⼀个Main()函数,该函数是整个程序运⾏的“⼊⼝”。
(4)属性窗⼝
属性窗⼝提供了当前项⽬中单个内容的详细信息,如单个控件或解决⽅案资源管理器中的某个⽂件。⽤户经常通过该窗⼝设置选定的窗体控件对象的属性。
(5)错误列表窗⼝
错误列表窗⼝为⼀个⾮常重要的窗⼝,默认为隐藏,但可通过 视图->错误列表 命令将其显⽰。
该窗⼝会提供⽤户编写程序中的错误、警告和其他项⽬有关信息。双击该窗⼝中的出错信息,可以跳转到错误代码所在⾏。
2、控件的基本属性
属性名描述
Name控件的名称,可以在代码中通过这个名称引⽤该控件
Text控件上显⽰的⽂本内容
Location 控件在窗体上的位置,包括控件的⽔平和垂直位置。也可以由left和Top共同表⽰
Size控件的⼤⼩,包括控件的宽和⾼。也可以由Width和Height两个属性共同表⽰Font控件上显⽰⽂本
的字体,包括字体名称、字号、字体样式等
ForeColor控件的前景⾊,即控件上显⽰⽂本的颜⾊
BackColor控件的背景⾊
Enable控件的有效性。值为True时,控件有效;值为False时,控件⽆效
Visible控件的可见性。值为True时,控件显⽰;值为False时,控件隐藏
TabIndex 控件Tab键序号,⽤户每次按下Tab键时,焦点会根据该序号有序地在各控件中移动
(1)Location属性和Size属性
location属性决定了控件在窗体上的位置,也可以⽤Left和Top两个属性来表⽰,他们分别表⽰控件左上⾓到窗体左边界、窗体顶部的距离。
Size属性决定了控件的⼤⼩,也可以⽤Weight和Height两个属性来表⽰,分别表⽰控件的宽度和⾼度
也可以通过代码修改
button1.Left = 80;
button1.Top = 50;
button1.Width = 80;
button1.Height = 25;
(2)Font属性
font属性决定了控件上显⽰⽂本的字体、⼤⼩、样式等,可通过Font属性对话框设置,也可以在程序通过以下语句格式设置:对象名.Font=New Font(字体名,字号,字体样式);
3、窗体
(1)窗体的重要属性决定了其外观和操作
属性名描述
MaximizeBox 最⼤化按钮。值为True时,显⽰最⼤化按钮;值为False时,隐藏最⼤化按钮
Minimize 最⼩化按钮。值为True时,显⽰最⼩化按钮;值为False时,隐藏最⼩化按钮
Icon窗体图标
ControlBox 控制菜单。值为True时,右击标题栏会出现控制菜单;值为False时,不会出现该菜单,同时,窗体图标、最⼤化及最⼩化按钮将⾃动隐藏
FormborderStyle 窗体的边框样式。共有7中样式,该属性设置会影响到窗体的边框、最(或最⼩)化按钮及控制菜单等
BackgroundImage设置窗体的背景图像
BackgroundImageLayout 设置窗体背景图像的平铺⽅式。共有五种,只有在导⼊背景图像时该属性才有意义
(2)基本事件
A、Load事件
载⼊窗体时触发,触发后执⾏名为Form1_Load()的事件处理程序,通常⽤来在启动程序时对控件属性进⾏初始化。Load事件是窗体默认事件。
B、Click事件
单击窗体时触发,触发后执⾏名为Form1_Click的事件处理程序。
C、DoubleClick事件
双击窗体时触发,触发后执⾏名为Form1_DoubleClick()的事件处理程序
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "载⼊窗体";
this.BackgroundImage = Image.FromFile("1.PNG");
this.BackgroundImageLayout = ImageLayout.Zoom;
}
private void Form1_Click_1(object sender, EventArgs e)
{
this.Text = "载⼊窗体";
this.BackgroundImage = Image.FromFile("2.PNG");
this.BackgroundImageLayout = ImageLayout.Zoom;
}
}
}
该程序为打开程序原图为1.png当单击则为图2.png
注意:Image.FromFile中的⽂件路径为 bin/debug/;在窗⼝设计中,默认事件Load可通过双击窗⼝直接进⼊Form1_Load()来处理程序。但对于Click和DoubleClick编写程序需要在属性窗⼝,点击事件按钮,双击Click和DoubleClick
4、标签
(1)重要属性
标签有很多属性,除了上⾯的基本属性外,还有⼀些重要属性
属性名描述
AutoSize 决定标签是否跟随其中的⽂本内容⾃欧东调整⼤⼩。默认值为True,表⽰⾃动调整标签⼤⼩,若为false⽤户可⾃⾏调整⼤⼩
TextAlign 标签中显⽰⽂本的对齐⽅式。共有0中,默认为左上⾓对齐。只有AutoSize属性值为False时才有意义
BorderStyle标签的边框样式,共有3中边框样式Image指定在标签上显⽰的图像
ImageAlign 标签上显⽰图像的对齐⽅式。共有9种,默认为最上⾓对齐。只有标签上导⼊图像这个属性才有意义
(2)基本事件
标签经常相应的事件有Click、doubleClick、MouseEnter、MouseLeave等
private void label1_MouseEnter(object sender, EventArgs e)
{
label1.ForeColor = Color.Red;                      //前景⾊变为红⾊
label1.BorderStyle = BorderStyle.Fixed3D;          //边框变为3D
}
private void label1_MouseLeave(object sender, EventArgs e)
{
label1.ForeColor = Color.Black;
label1.BorderStyle = BorderStyle.None;
}
}
上⾯代码为将窗⼝显⽰的⽂字按⿏标进⼊和离开变化⾊彩。
5、图像框
图像框(PictureBox)是专门导⼊图⽚的控件,可以导⼊bmp、jpg、gif、wmf等多种格式的图⽚⽂件。
除了基本属性外,图像框还有两个重要属性:image、sizemode
属性名描述
Image指定图像框中的图⽚
SizeMode控制图⽚在图像框中的显⽰⽅式
(1)Image属性
将图⽚装⼊到图像框有两种⽅式:在属性窗⼝中直接设置Image属性和利⽤以下语句进⾏添加
图像框控件名.Image=Image.FromFile("图⽚路径");
其中图像路径为绝对路径,若不指定路径,直接添加⽂件名,需将图⽚放置在bin/debug/⽂件夹下
如果要在当前程序中清楚已经载⼊的图⽚,可通过以下语句完成
htmlborder图像框控件对象名.Image=null;
(2)SizeMode属性
展开图像框的SizeMode属性列表,可以看到属性⼀共有五个值。其中AutoSize为图像框随着装⼊的图⽚⼤⼩⾃动调整;StretchImage为将载⼊的图⽚随图像框⼤⼩⾃动调整。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。