Visual Studio开发环境介绍 及控件属性、事件
目录
1、创建新项目
2、控件的基本属性
3、窗体
4、标签
5、图像框
6、文本框
7、命令按钮
8、综合实验
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/文件夹下
如果要在当前程序中清楚已经载入的图片,可通过以下语句完成
图像框控件对象名.Image=null;
(2)SizeMode属性
展开图像框的SizeMode属性列表,可以看到属性一共有五个值。其中AutoSize为图像框随着装入的图片大小自动调整;StretchImage为将载入的图片随图像框大小自动调整。
private void button1_Click(object sender, EventArgs e){pictureBox1.Width = pictureBox1.Width * 2;pictureBox1.Height = pictureBox1.Height * 2;button1.Enabled = false;button2.Enabled = true;}private void button2_Click(object sender, EventArgs e){pictureBox1.Width = pictureBox1.Width /2;pictureBox1.Height = pictureBox1.Height /2;button1.Enabled = true;button2.Enabled = false;}
6、文本框
文本框(TextBox)是一个编辑文本的区域,用户可在里面输入、编辑和显示文本内容,可通过该控件创建一个来类似于Windows记事本程序的简单文本编辑器。
(1)重要属性
属性名 | 描述 |
MaxLength | 指定文本框中文本的最大字符长度。当值为0时,表示该长度受限于可用内存,即理想情况下的无限长 |
Multiline | 设置文本框是否多行。默认值为False,表示单行文本框;当值为True时,表示多行文本框 |
WorldWrap | 指定在多行文本框中,当一行文本的长度超过了文本框本身的宽度时,是否自动换行,默认为True,表示自动换行 |
ScrollBars | 指定多行文本框是否显示滚动条。默认值为None,表示无滚动条 |
PassWordChar | 指定密码字符替换单行文本框中输入的内容。例如,指定PassWordChar为. |
ReadOnly | 表示文本框中的内容是否只读。默认值为False,表示文本框可以编辑;当值设为True时,不能编辑,这是文本框就好像一个标签,只读不写 |
SelectionStart | 文本框中被选中内容的开始位置。文本框第一个字符的位置为0 |
SelectionLength | 文本框中被选中文本的长度 |
SelectionText | 文本框中被选中文本的正文内容 |
其中Mulitiline为True时表示多行文本,此时,ScrollBars和WordWrap才有意义;
multiline属性值为False时,PassWordChar才有意义;
ScrollBars属性可指定滚动样式。默认值为None,表示无滚动条;当属性值为Vertical或Horizontal时可指定垂直或水平滚动条;有可以Both,同时出现。
SelectionStart、SelectionLength和SelectionText属性只能在程序运行时,通过用户操作来获取或设置值。
private void button1_Click(object sender, EventArgs e){textBox2.Text = textBox1.SelectedText;textBox3.Text = Convert.ToString(textBox1.SelectionStart);textBox4.Text = Convert.ToString(textBox1.SelectionLength);}
以上代码中,由于文本框的selectionstart/selectionlength属性值为数值型,而文本框中的text为字符串型,因此,需要通过convert命令对不同数据类型进行显示转换。
.Net规定,文本框中的第一个字符的位置为0,无论中文还是西文,单个字符的宽度都为1.
(2)基本事件
文本框能响应的事件中,TextCharged、KeyPress、Enter、Leave是最重要的事件。
A、TextCharged事件
只要文本框中的内容发生改变,都会引发TextCharged事件。如C#.NET一词,共触发事件6次;
B、KeyPress事件
当用户按下并释放键盘上的一个按键时,就会触发KeyPress事件。此事件会把用户所按下键的值送入e.KeyChar参数中。
该事件最常用的是回车键,当e.KeyChar的值为13时表示按下了回车。
private void textBox3_TextChanged(object sender, EventArgs e){textBox1.Text += textBox3.Text + Environment.NewLine; //显示当前输入并换行}private void textBox4_KeyPress(object sender, KeyPressEventArgs e){if(e.KeyChar==13) //按回车键,显示当前输入并换行{textBox2.Text += textBox4.Text + Environment.NewLine; }}}
Environment.NewLine表示换行。
(3)Enter事件和Leave事件
这两个事件被称为焦点事件。当光标进入文本框时,触发enter事件,当光标离开文本框时触发leave事件。
焦点获得和失去一般有两种情况:一种是按Tab键使光标在窗体上的各控件移动,二是直接用鼠标单击窗体上的某个对象。
using System.Text.RegularExpressions;namespace WindowsFormsApplication7
{public partial class Form1 : Form{Regex guoqing = new Regex("^[0-9]*$");public Form1(){InitializeComponent();}private void textBox1_Leave(object sender, EventArgs e) //光标离开文本框1进行判断{if(!guoqing.IsMatch(textBox1.Text)) {MessageBox.Show("只能是数字,请重试");textBox1.Text = "";textBox1.Focus();}}private void textBox2_Leave(object sender, EventArgs e) //光标离开文本框2进行判断{if (!guoqing.IsMatch(textBox2.Text)) {MessageBox.Show("只能是数字,请重试");textBox2.Text = "";textBox2.Focus();}}private void textBox3_Enter(object sender, EventArgs e) //光标进入文本框3进行判断{if(textBox1.Text!="" && textBox2.Text!="") //若两个操作数都已输入{textBox3.Text = (int.Parse(textBox1.Text) + int.Parse(textBox2.Text)).ToString();}}}
}
(4)常用方法
文本框最常用的方法是Focus,该方法的作用是将光标定位到文本框中。其语句为
文本框对象名.Focus();
7、命令按钮
(1)重要属性
属性名 | 描述 |
TextAlign | 按钮上显示1文本的对齐方式。共有9种方式,默认为居中对齐 |
Image | 指定在按钮上显示的图像 |
ImageAlign | 指定在按钮上显示图像的对齐方式。共有九中 |
FlatStyle | 设置按钮的样式。共有四种样式,默认值为standard |
(2)基本事件
命令按钮最常用的事件是Click,它在用户单击按钮对象时触发。
namespace WindowsFormsApplication8
{public partial class Form1 : Form{string s; //定义剪切板为字符串变量public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){s = textBox1.SelectedText; //选中文本送入字符串textBox1.SelectedText = ""; //清除选中文本}private void button2_Click(object sender, EventArgs e){s = textBox1.SelectedText; //选中文本送入剪贴板,实现复制}private void button3_Click(object sender, EventArgs e){textBox1.SelectedText = s; //剪切板中的内容送入光标所在的位置,实现黏贴}private void button4_Click(object sender, EventArgs e){textBox1.Font = new Font("隶书", 16); //修改字体大小textBox1.ForeColor = Color.Blue;}private void button5_Click(object sender, EventArgs e){Application.Exit();}}
}
8、综合实验
控件对象名称 | 属性 | 设置值 |
Form1 | Text | 帅气的俊佑 |
BackGroundImage | 导入背景图 | |
BackGroundImageLayout | Stretch | |
pictureBox1 | Image | 导入俊佑图像 |
SizeMode | StretchImage | |
BackColor | Transparent | |
button1 | Text | 开始 |
timer | Enable | False |
Interval | 100 每隔0.1秒触发 |
namespace WindowsFormsApplication9
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){initail();}private void initail(){pictureBox1.Width = 121;pictureBox1.Height = 138;pictureBox1.Left = 0;pictureBox1.Top = this.ClientSize.Height - pictureBox1.Height;}private void timer1_Tick(object sender, EventArgs e){pictureBox1.Top = pictureBox1.Top - 5;pictureBox1.Left = pictureBox1.Left + 8;pictureBox1.Height = pictureBox1.Height - 1;pictureBox1.Width = pictureBox1.Width - 1;if(pictureBox1.Top<-2*pictureBox1.Height){timer1.Enabled = false;button1.Enabled = true;initail();}}private void button1_Click(object sender, EventArgs e){timer1.Enabled = true;button1.Enabled = false;}}
}
Visual Studio开发环境介绍 及控件属性、事件相关推荐
- Visual Studio开发MFC项目OCX控件添加使用控件方法
1.在Windows系统中注册OCX控件 在OCX控件目录,右键新建一个文本文档,将文件名和扩展名改为"双击注册.bat",添加如下注册脚本: cd /d %~dp0 RegSvr ...
- linux studo命令,在 Linux 上使用 Visual Studio 开发环境
原标题:在 Linux 上使用 Visual Studio 开发环境 为了向大家介绍 "Linux 上的 ASP.NET Core",我需要一个 Linux VM,通过远程桌面连上 ...
- Visual Studio 2010—— C#的ComboBox控件使用
实验环境:Windows XP,Visual Studio 2010 Ultimate 1 创建项目 文件>>新建>>项目,选中"Windows窗体应用程序&quo ...
- 第2章 开锋你的绝世名刃—— Visual Studio 开发环境的安装、配置
2.1 Visual Studio .VC ++和C ++的那些事儿 Visual Studio 是一套工具集, VC ( Visual c++)只是这套工具集中的一个工具,而c++大家都知道是一种风 ...
- 32位visual studio中添加x64 ActiveX控件方法
visual studio中创建ActiveX控件的方法可参考:https://blog.csdn.net/wangzhiyang925/article/details/38715605?tdsour ...
- 第二章 Visual Studio开发环境的安装、配置
● 1. Visual Studio 其实是微软开发的一套工具集,它由各种各样得工具组成,这样就好像 Wps Office软件是由 WPS文字.WPS表格.WPS演示 等等组成是一个道理, 其中Vis ...
- 解决Visual Studio 找不到报表控件、rdlc中文乱码
找回报表控件 运行安装程序中的 ..\packages\Reporting Services\RVAddon.msi 工具栏,右键选择ReportViewer,注意选择的版本 如果不能编辑报表文件(. ...
- Android Studio开发基础之AutoCompleteTextView控件的使用
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的.AutoCompleteTextView控件继承自Text ...
- Visual studio C++ MFC之列表控件CListCtrl Control
背景 本篇旨在MSDN帮助文档下总结列表控件CListCtrl Control的使用,并列出碰到的具体问题. 正文 列表型控件List Control的类是ClistCtrl,具体成员对象详见链接,以 ...
最新文章
- FPGA之道(74)Verilog生成语句
- 演练:有效减法设计,才能开放加法
- linux怎么安装高德导航软件,高德地图车机版如何安装?高德地图车机版安装教程...
- python使用md5加密_如何使用Python构建加密机器人并将其连接到Facebook Messenger
- 可编程渲染管线与着色器语言
- C向Python传递数组参数时,调用函数后才能销毁
- DeepRacer 根据路线计算Action Space RaceLine_Speed_ActionSpace
- 假日活动的背后,酷开网络再造OTT营销的“价值高地”
- Python接口自动化测试_悠悠
- android 连接电视,手机连接电视方法大全
- utf-8 汉字对照表
- Linux怎么运行lisp,Lisp - Ubuntu 中的编程语言_Linux编程_Linux公社-Linux系统门户网站...
- 笔记本电脑同时连接内外网亲测有效
- 51 OCP Oracle数据库认证精品辅导班8期
- html使用手机默认字体,开发移动端H5的时候,字体该不该随着手机系统字体的调整而变化?...
- 电销外呼系统主要有哪些作用?
- 计算机网络码分多址CDMA及计算例题(简单易懂)
- 项目成本管理-成本控制工具技术:挣值管理
- 鸿蒙系统VR伙伴,鸿蒙2.0系统让开发者看到了未来曙光 华为让AR/VR跨越时空,迈进现实...
- 75页政务大数据资源平台建设解决方案(附下载).pptx