搜档网
当前位置:搜档网 › C#基本控件用法

C#基本控件用法

C#基本控件用法
C#基本控件用法

作者:曾立波、陈华生、王俊凡,转载请注明出处。

1 Button

用法与DELPHI中的BUTTON的用法相似,要注意的属性如下

BackColor 背景颜色

DialogResult 点击返回的DialogResult的值(None,OK,Cancel,Abort,Retry,Ignore,Yes,No)FlatStyle 设置按钮的样式

Image 添加图片(注意图片的ImageIndex)

AlignImage 图片在按钮中的显示位置

TextAlign 文字在按钮中的显示位置

Tag 可以在按钮中添加对象

事件主要是用Click事件(当BUTTON获得焦点,按Enter时也会触发)

注意:如果在按钮上单击了鼠标左键,然后把鼠标移动到其他位置,再释放鼠标,将不会引发Click事件

可以在按钮中添加自定义事件

private void btnSample_Click_111(object sender, EventArgs e)

{

if (sender is Button)

{

MessageBox.Show("this is button");

}

}

调用

btnSample.Click += btnSample_Click_111;

2 CheckBox

用法与DELPHI中CheckBox的用法相似,要注意的属性如下:

CheckState 其中有3种状态(Checked,Unchecked,Indeterminate)当状态是Indeterminate 时,控件旁边的复选框是灰色的,表示复选框的当前值是无效的ThreeState 是否允许显示CheckState中的Indeterminate状态

CheckState = True 时允许存在Indeterminate状态

CheckState = False 时不允许存在Indeterminate状态

用户不能把CheckState设置为Indeterminate,但可以在代码中把CheckState

设置为Indeterminate

注意的事件

CheckedChangeed 当复选框的Checked属性发生改变时,就引发该事件。

(注意:当ThreeState属性为true时,单击复选框不会改变Checked

属性,也就不会引发此事件。在复选框从Checked变为indeterminate

状态时,就会出现这种情况)

CheckedStateChanged 当CheckedState属性(Checked,UnChecked这种状态)改变时,

引发该事件

3 ComboBox

Dock 控件的位置控制(Top,Left,Right,Bottom, Fill,None)

DropDownStyle 控件的下拉样式(Simple,DropDown,DropDownList)

FlatStyle 设置控件的样式

Tag 可以绑定对象

Items 可以能过Add与Insesrt方法增加到ITEMS(Add 添加项到最后一项,Insert方法可以插入到任何位置)

DataSource 数据源绑定。

DisplayMember 在ComboBox中显示的值(Name)

ValueMember 在ComboBox中显示的值对应的隐藏值(ID)

通过DataSource,DisplayMember,ValueMember三个属性可以实现自动把数据集添加到ComboBox中

private void FillComboBox(ComboBox cbx)

{

string SQLText = string.Empty;

SQLText = "select distinct USER_RIGHT_ID,USER_RIGHT_NAME from NT_USER_RIGHT "

+ " where UP_RIGHT_ID is null ";

DBAccess DBQuery = new DBAccess();

DataTable ds = new DataTable();

ds = DBQuery.QueryResultDataTable(SQLText); //取得数据到DS中自定义的方法DataRow dr = ds.NewRow(); //新增一条记录

dr["USER_RIGHT_ID"] = 0;

dr["USER_RIGHT_NAME"] = "";

ds.Rows.InsertAt(dr, 0); //插入数据到数据表DS中

cbx.DataSource = null; //清除所有项目

cbx.DataSource = ds;

cbx.DisplayMember = "USER_RIGHT_NAME";

cbx.ValueMember = "USER_RIGHT_ID";

//定位记录到权限ID=11

cbx.SelectedValue=11;

}

https://www.sodocs.net/doc/9116858986.html,boBox1.Items.Clear(); //清除所有选项如绑定数据此方法无效

//应用comboBox1.DataSource = null;

https://www.sodocs.net/doc/9116858986.html,boBox1.Items.Insert(0, "请选择");

https://www.sodocs.net/doc/9116858986.html,boBox1.Items.Insert(1, "a1");

https://www.sodocs.net/doc/9116858986.html,boBox1.Items.Add("a6");

https://www.sodocs.net/doc/9116858986.html,boBox1.Items.Add("a7");

4 Label

用法与DELPHI中的Label用法相似,要注意的属性如下:

FlatStyle 设置LABEL的显示样式

Image 设置图片

ImageList 设置图片,通过ImageIndex来设置图片

ImageAlign 图片在Label中的显示位置

ContextMenuStrip 右键菜单

TextAlign Label中的文字显示位置

Dock 控件的位置设置

5 TextBox

用法与Delphi中的Edit控件的用法相似,要注意属性如下

CharacterCasing 表示TextBox是否改变输入的文本的大小写。

Lower: 文本框中输入的所有文本都转换为小写

Normal: 不对文本进行任何转换

Upper: 文本框中输入的所有文本都转换为大写

MaxLength 指定输入到TextBox中的文本的最大字符长度。设置为0,表示最大字符长度仅受限于可用的内存

Multiline 表示该控件是否是一个多行控件。如果Multiline属性设置为true,通常也把WordWrap也设置为true

WordWrap 指定在多行文本框中,文本是否应自动换行

PasswordChar 指定是否用密码字符替换在单行文本框中输入的字符。

如果Multiline 属性为true,这个属性就不起作用

ReadOnly 表示文本是否为只读

ScrollBars 指定是否显示滚动条

SelectedText 选择的文本

6 DateTimePicker用法

主要是要关注Format属性,如果设置成Custom,则DateTimePicker的日期格式根据CustomFormat的格式定,如yyyy-MM-dd hh:mm:ss;

7 Panel

用法与Delphi中Panel用法相似应注意的属性如下

ContextMenuStrip 右键菜单

BackColor 背景颜色

Dock 控件的位置控制(Top,Left,Right,Bottom, Fill,None)

8 TabControl

用法与Delphi中的PageControl相似,应注意的属性如下

Alignment控制标签在TabControl控件的什么位置显示。默认的位置为控件的顶部

Appearance控制标签的显示方式。标签可以显示为一般的按钮或带有平面样式

HotTrack 设置为true,则当鼠标指针滑过控件上的标签时,其外观就会改变

Multiline 设置为true,就可以有几行标签

TabPages这是控件中的TabPage对象集合。使用这个集合可以添加和删除TabPage对象

9 LisiBox用法

9.1控件用途:

用于显示多个数据,以供选择.

9.2使用效果:

9.3控件主要属性说明和使用:

ContextMenuStrip: 用于绑定右键菜单

DispLayMember: 显示名称

Dock: 设置控件的自适应.

Items :增加结点 listBox1.Items.Add("aa");

DataSource:用于绑定数据库

listbox1.DataSource=ds.Tables[0].DefaultView; //ds是DATASET

listbox1.DisplayMember="姓名";

listbox1.ValueMember="員工編號";

Sorted: 排序

10 ListView用法

10.1控件用途:

控件可以以列表的形式显示数据,也可以以结点的形式,显示数据.

10.2使用效果:

以列表的形式显示: view属性要设置为Details

以结点的形式显示: view属性要设置为LargeIcon或者SmallIcon

10.3控件主要属性说明和使用:

CheckBoxes:把CheckBoxes置为TRUE 会出现勾选框.

Dock: 设置控件的自适应.

Columns: 增加列,一般静态加

GridLine: 设置为TRUE显示成格子,否则看不到格子的线.

HideSelection: 设置为False 显示查询列

SmallimageList 增加一个imageList.通过ImageIndex设置结点的图标Items 控件结点.通过这个属性向控件增加结点.

for (int i = 0; i < 8; i++) //增加八行

{

listview.Items.Add("数据1"+ i.ToString()); //增加一行

listview.Items[i].ImageIndex=i+1; //行的第一个结点设置图标

listview.Items[i].SubItems.Add("数据2"); //增加行的第二个结点

listview.Items[i].SubItems.Add("数据3"); //增加行的第三个结点如果view属性要设置为Details就有行的概念,如果设置为LargeIcon或者

SmallIcon则界面显示就没有行的概念,但数据存储两种都一样.

imageList: 增加一个imageList.通过ImageIndex设置结点的图标

Sorting: 排序

11 Treeview用法

11.1控件用途: 树形显示控件,用于表现数据的层次结构.

1.1表现效果

11.2控件主要属性说明和使用:

CheckBoxes:把CheckBoxes置为TRUE 会出现勾选框.

Dock: 设置控件的自适应.

HideSelection: 设置为False 显示查询列

imageList 增加一个imageList.通过ImageIndex设置结点的图标

Nodes 树控件结点.通过这个属性向控件增加结点.

第一层结点:

treeView1.Nodes.Clear(); //清除控件结点

//新增一个结点,其中ds.Tables[0].Rows[i][1].ToString()为结点的显示值

RightObjClass1 RightObj = new RightObjClass1(); //新建对象

TreeNode tn = new TreeNode(ds.Tables[0].Rows[i][1].ToString());

tn.Tag = RightObj; //结点是通过Tag来增加挂对象的, RightObj为对象

tn.ImageIndex = 1; //设置结点图标

this.treeView1.Nodes.Add(tn); 把结点增加到TreeView里边

第二层结点

//新增一个结点

TreeNode tn2 = new TreeNode(ds.Tables[0].Rows[j][1].ToString());

RightObjClass1 RightObj1 = new RightObjClass1();

tn2.Tag = RightObj1;

tn2.ImageIndex = 2;

tn.Nodes.Add(tn2); //把结点挂在第一层结点上

ShowLines 显示树前面的连线.

12 DataGrid用法

12.1控件用途:

数据的显示控件,以便与从整体来查看数据.可以与DATASET里的数据表和和内存表进行绑定.

12.26.2使用效果:

12.3控件主要属性说明和使用:

AllowSorting: 排序,点击列头,数据会跟据选定列自动排序.

AlternationBackColor: 可以理解为偶数行的行颜色

BackColor: 可以理解为单数行的行颜色

BackgroudColor: 背景颜色,没有加载数据区域的颜色

CaptionText: DataGrid的总标题,用于描述DataGrid总体情况.

CaptionVisible: 是否显示上面的标题

CaptionBackColor:标题颜色

ColumnHeadersVisible: 列头是否显示.

ConTextMenuStrip:关联右键菜单

HeaderBackColor: 列头颜色

RowHearerVisible 行头是否可见

DataSource :用于绑定数据源.

直接与DATASET进行绑定如下

this.dataGrid1.DataSource = ds.Tables[0];

与内存表绑定:

DataTable dt = new DataTable("Table1");

dt.Columns.Add("菜单Id", typeof(decimal));

dt.Columns.Add("菜单名称", typeof(string));

dt.Columns.Add("备注", typeof(string));

RightObjClass1 obj = (RightObjClass1)e.Node.Tag;

dt.Rows.Add(obj.SRightId, obj.SRightName, obj.SRemark); //内存表增加列 dataGrid1.DataSource = dt; //绑定

13 Dialog用法

13.1控件用途:

包括openDialog, SaveDialog,ColorDialog用法. openDialog打开一个打开文件对话框,用于打开文件. SaveDialog打开一个保存对话框. ColorDialog打开一个颜色选择框.

13.2控件主要属性说明和使用:

ShowDialog:打开对话框

FileName : 文件全部路径

SafeFileName: 文件名

//openDialog, SaveDialog对话框

if (openFileDialog1.ShowDialog() = DialogResult.ok)

textBox1.Text = openFileDialog1.FileName;

else

textBox1.Text = "";

//颜色选择框

//ColorDialog colorDialog1 = new ColorDialog();

colorDialog1.FullOpen = true; //是否显示ColorDialog有半部分,运行一下就很了然了

//colorDialog1.CustomColors = color;//设置自定义颜色

DialogResult result = colorDialog1.ShowDialog();

if (result == DialogResult.OK)//确定事件响应

{

listview.BackColor = colorDialog1.Color;

}

if (result == DialogResult.Cancel)//取消事件响应

{ }

14 hashTable用法

14.1控件用途:

用于保存数据.主要是把类存放在里面,通过索引值能快速的查找出来.

14.2控件主要属性说明和使用:

引用包: using System.Collections;

//新建一个Hash表

Hashtable hTable = new Hashtable();

hTable.Add(RightObj.SRightId, RightObj.SRightName); //增加数据,参数可以是类对象

//Hash表取值 ,遍历

foreach (DictionaryEntry de in Htable1)

{

// MessageBox.Show(de.Key.ToString());//de.Key对应于key/value键值对key

ComPid.Items.Add(de.Value.ToString());//de.Key对应于key/value键值对value

}

hTable.Remove("003"); / /在哈希表中去除keyvalue是"003"键值

hTable.Clear(); //清空所有数据

hTable.Contains(key); //通过Key进行查找

15 控件PictureBox用法

15.1动态载入文件

//自动伸缩

pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

//载入文件

pictureBox1.Load(sFileName);

15.2在pictureBox上画图

private void pictureBox1_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

g.DrawLine(new Pen(Color.Blue, 3), new Point(0, 0), new Point(100, 100)); }

如果不在Paint中画图,如果窗体重画,原先画的图将不复存在

16 控件MenuTrip用法

MenuTrip是弹出菜单,假设我要按一个button实现弹出菜单,可以使用以下代码private void button1_Click(object sender, EventArgs e)

{

Point pt = new Point();

pt = button1.Parent.PointToScreen(button1.Location);

pt.Y = pt.Y+button1.Height;

contextMenuStrip1.Show(pt);

}

17 MdiForm的使用方法

要在程序中使用MdiForm,首先主窗体的IsMdiContainer必须设置成true

主窗体显示MDI窗体的代码如下:

CustomCtlFrm tmpFrm = new CustomCtlFrm();

tmpFrm.MdiParent = this;

tmpFrm.Show();

主窗体枚举MDI窗体代码如下:

for (int i = 0; i < this.MdiChildren.Count(); i++)

{

Form tmpFrm = this.MdiChildren[i];

}

18 List的用法

class CCustom

{

private int _iCustomId;

public int iCustomId

{

get { return _iCustomId; }

}

public string _sCustomName;

public string sCustomName

{

get { return _sCustomName; }

}

public CCustom(int iID, string sName)

{

_iCustomId = iID;

_sCustomName = sName;

}

}

List tmpList = new List();

CCustom vCust = new CCustom(1, "aa");

tmpList.Add(vCust);

vCust = new CCustom(2, "bb");

tmpList.Add(vCust);

vCust = new CCustom(3, "cc");

tmpList.Add(vCust);

vCust = new CCustom(4, "dd");

tmpList.Add(vCust);

索引方法

int iIndex=tmpList.IndexOf(vCust);

删除方法

tmpList.RemoveAt(0);

VisualStudio_各个控件详解

.NET控件详解 (2011-07-20 22:44:33) 转载 标签:it分类:C#语言 微软的.net控件详解,没有那个比这个更权威的了网址: https://www.sodocs.net/doc/9116858986.html,/QuickStartv20/aspnet/doc/ctrlref/standard/multiview.aspx 参考资料:https://www.sodocs.net/doc/9116858986.html,/QuickStartv20/aspnet/doc/ctrlref/standard/multiview.aspx 网易学院:https://www.sodocs.net/doc/9116858986.html,/special/000915SN/stvs2005.html 参考资料:https://www.sodocs.net/doc/9116858986.html,/tianine5/blog/item/1470aa35f46bad8aa61e1285.html .NET控件命名规范

按功能列出的推荐控件和组件:(windows程序用的控件和组件) 数据显示: DataGridView控件 DataGridView控件提供用来显示数据的可自定义表。使用DataGridView类,可以自定义单元格、行、列和边框。 注意DataGridView控件提供DataGrid控件所不具备的许多基本和高级功能。有关更多信息数据绑定和定位: BindingSource组件 通过提供当前项管理、更改通知和其他服务,来简化将窗体上的控件绑定到数据的过程。

文本编辑: BindingNavigator控件 提供工具栏式的界面来定位和操作窗体上的数据。 TextBox控件 显示设计时输入的文本,它可由用户在运行时编辑或以编程方式更改。 RichTextBox控件 使文本能够以纯文本或RTF 格式显示。 MaskedTextBox控件约束用户输入的格式信息显示(只读): Label 控件显示用户无法直接编辑的文本。 LinkLabel控件 将文本显示为Web 样式的链接,并在用户单击该特殊文本时触发事件。该文本通常是到另一个窗口或网站的链接。 StatusStrip控件 通常在父窗体的底部使用有框架的区域显示有关应用程序的当前状态的信息。ProgressBar控件向用户显示操作的当前进度。 网页显示: WebBrowser控件使用户可以在窗体内导航网页。

https://www.sodocs.net/doc/9116858986.html, AJAX入门系列:Timer控件简单使用

https://www.sodocs.net/doc/9116858986.html, AJAX入门系列:Timer控件简单使用 本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下https://www.sodocs.net/doc/9116858986.html, AJAX中的服务端Timer控件的简单使用。 主要内容 Timer控件的简单使用 1.添加新页面并切换到设计视图。 2.如果页面没有包含ScriptManager控件,在工具箱的AJAX Extensions标签下双击ScriptManager控件添加到页面中。 3.单击ScriptManager控件并双击UpdatePanel控件添加到页面中。

4.在UpdatePanel控件内单击并双击Timer控件添加到UpdatePanel中。Timer控件可以作为UpdatePanel的触发器不管是否在UpdatePanel中。 5.设置Interval属性为10000。Interval属性的单位是毫秒,所以我们设置为10000,相当于10秒钟刷新一次。 6.在UpdatePanel控件中添加一个Label控件。

7.设置Label控件的Text属性为“Panel not refreshed yet ”。确保Label控件添加在了UpdatePanel控件里面。 8.在UpdatePanel之外再添加一个Label控件。确保第二个Label控件在UpdatePanel的外面。 9.双击Timer控件添加Tick事件处理,在事件处理中设置Label1的Text属性为当前时间。 protected void Timer1_Tick(object sender, EventArgs e)

{ Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString(); } 10.在Page_Load事件中添加代码设置Label2的Text属性为页面创建时间,如下代码所示: protected void Page_Load(object sender, EventArgs e) { Label2.Text = "Page created at: " + DateTime.Now.ToLongTimeString(); } 11.切换到代码视图,确保代码如下所示: protected void Page_Load(object sender, EventArgs e) { Label2.Text = "Page created at: " + DateTime.Now.ToLongTimeString(); } protected void Timer1_Tick(object sender, EventArgs e) { Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString(); } 12.保存并按Ctrl + F5运行 13.等待10秒钟后可以看到Panel刷新,里面的Label文字改变为刷新的时间而外面的Label没有改变。

各种控件的详细使用介绍

各种控件的详细使用介绍:常用属性,常用事件,常用的方法 控件的分类(控件根据所属的基类,进行划分) 根据是否能容纳其他控件,可以分为: 容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件) 非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像) 另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件) 非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。(命令按钮,命令按钮组,线条,标签,计时器,形状,图像) 一、标签控件(Label)——非容器类控件,非数据绑定控件 用以显示文本,显示提示信息。标签上的显示文本由caption属性指定。 其中的文本在表单运行时不能被用户直接修改。 常用属性: 常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件 Click 单击事件mouseup 释放鼠标左键事件

【范例】参考实验作业HomeWork7-1-1.scx。 二、文本框与编辑框——非容器类控件,数据绑定控件 文本框——用以显示或编辑表中的非备注型字段的数据。 编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。 两者均为数据绑定控件,非容器类控件 文本框的常用属性: ?ControlSource 指定与文本框绑定的数据源 ?Value 指定文本框的当前选定的值 例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字?PasswordChar 用设定的字符来显示用户输入的值,而实际输入保存在value属性中。 例如:PasswordChar=*或者其他的符号。文本框中显示为*或其他符号

计时器控件在VB中的应用

计时器控件在VB中的应用 计时器控件在工具箱中的名称是Timer,该控件是一个非可视控件,即在运行时不可见,用于实现每隔一定时间间隔执行指定的操作。Timer控件对于其他后台处理也是非常有用的。本文用实例来介绍在VB程序中利用计时器控件,实现在程序在启动运行期间各种不同的效果。下面给出编程设计过程,供读者参考选用。 一、计时器(Timer)控件与标签(Label)控件的应用 1、启动VB,新建工程。在工程中添加一个窗体Form1,在窗体上加入一个Timer 计时器控件Timer1和标签控件Label1 2、编写相应的代码,实现不同的功能 (1)字体颜色发生随机变化的效果,计时器事件(Timer)代码如下: l 窗体Form1的加载事件代码 Private Sub Form_Load() Timer1.interval=500 Label1.Caption = “欢迎进入VB应用程序” Label1.font.size=20 Label1.autosize=true End Sub l 计时器(Timer1)控件的Timer事件代码 Private Sub Timer1_Timer() Label1.ForeColor = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) End Sub (2)依次出现字幕的实现效果,相关事件代码如下: Dim i …在通用-声明中定义变量… Private Sub Timer1_Timer() i = i + 1 Label1.Caption = Left(“欢迎进入VB应用程序”, i) If i > 10 Then i = 0 End If End Sub (3)滚动字幕的实现效果,相关事件代码如下: l 窗体Form1的加载事件代码 Private Sub Form_Load() Label1.Caption = “欢迎进入VB应用程序” End Sub l 计时器(Timer1)控件的Timer事件代码 Private Sub Timer1_Timer() If Label1.Left <= Form1.Width Then Label1.Left = Label1.Left + 100 Else Label1.Left = -Label1.Width End If End Sub (4)制作字体闪烁的效果

第二章(1)-标准控件-一、选择题-1-文本框的属性不包括(-A-)。-A

第二章(1)标准控件 一、选择题 1. 文本框的属性不包括( A )。 A. Caption B. Text C. Name D. Top 2. 在属性窗口中设置命令按钮的Caption属性为"&End",则( A )是该命令按钮的快捷访问键。 A. Alt+E B. Ctrl+E C. Shift+E D. Ctrl+Shift+E 3. 设置命令按钮的( B )属性值为False,可以使命令按钮处于不可用状态。 A. Value B. Enabled C. Default D. Cancel 4. 下列设置中,可以使计时器Timer1停止计时的是( D )。 A. Timer1.Locked=True B. Timer1.Locked=False C. Timer1.Enabled=True D. Timer1.Enabled=False 5. 设置标签的的显示内容的属性是( C )。 A. Name B. Text C. Caption D. Top 6. 为了将复选框(名称为Check1)设置为选中状态,应该使用( A )语句。 A. Check1.Value=1 B. Check1.Value=0 C. Check1.Value=True D. Check1.Value=False 7. 单选按钮处于选中状态时,它的Value属性值是( B )。

A. False B. True C. 0 D. 1 8. 下列关于组合框的叙述中,正确的是(C )。 A. 组合框有Click事件,没有Change事件 B. 组合框有Change事件,没有Click事件 C. 组合框既有Click事件,也有Change事件 D. 组合框没有Click事件和Change事件 9. 设置( A )属性,可以使图片显示在图片框或图像框中。 A. Picture B. Image C. Icon D. DownPicture 10. 在图像控件Image1中加载图片后,为使图像控件能够自动调整大小而显示整幅图片,可以使用语句( D )。 A. Image1.AutoSize=True B. Image1.AutoSize=False C. Image1.Stretch=True D. Image1.Stretch=False 11. 在图片框控件Picture1中加载图片后,为使图片框控件能够自动调整大小而显示整幅图片,可以使用语句( A )。 A. Picture1.AutoSize=True B. Picture1.AutoSize=False C. Picture1.Stretch=True D. Picture1.Stretch=False 12. 下列不能接收焦点的控件是( B )。 A. 命令按钮 B. 标签框 C. 文本框 D. 单选按钮 13. 下列控件中( D )不能触发GetFocus和LostFocus事件。 A. 命令按钮 B. 组合框 C. 复选按钮 D. 计时器

使用窗体控件

第2章使用窗体控件 课堂练习:为控件创建事件处理程序 5)传递给这个事件处理程序的第二个参数(e)的目的是什么? 答:参数e包含事件数据。它是一个EventArgs 对象(实际不包含事件数据的基类),或者是一个派生类(像MouseEventArgs)的实例。要查看派生类的完整列表,请在Visual Studio .NET帮助文档中使用短语“EventArgs 类”进行查找,然后点击链接转到“派生类”。 ●为Click 事件创建一个事件处理程序。 3)上面的双击动作为什么创建了一个Click 事件处理程序? 答:当在设计视图中双击一个控件时,IDE会自动为默认事件创建一个事件处理程序。课堂练习:创建和使用ToolBar控件 8)为什么不能向ToolBar 按钮添加图像呢? 答:ToolBar 控件将ImageList 控件作为图像源。使用ToolBar 控件的ImageList 属性指定Toolbar 将从哪个ImageList 控件获取图像。 13)运行应用程序。单击工具栏按钮时有事情发生吗?必须处理什么事件以响应单击ToolBar按钮? 答:ToolBar 的ButtonClick事件用来处理ToolBar按钮的单击。ToolBarButtonClickEventArgs 用来确定单击了哪个按钮。 课堂练习:在运行时添加和移除控件 ●添加新控件 6)为什么decimalCheckBox 出现在GroupBox1控件的左上角? 答:控件位置属性的默认坐标X和Y的值均为零。 课堂练习:在运行时更新菜单 ●使用另一个MainMenu 9)什么时候能在一个应用程序中使用多个MainMenu 控件? 答:在应用程序的上下文改变或者应用程序有多种状态时,使用(显示)多个MainMenu 对象会很有帮助。 ●将一个ContextMenu 分配给一个控件。 5)如何找出哪个控件与ContextMenu 有关联? 答:ContextMenu.SourceControl 属性获取显示快捷方式菜单的控件。 ●找出与ContextMenu关联的控件

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理 ================================================= MSFlexGrid总行数和总列数的定义: MSFlexGrid1.Rows = 5 '规定表格的总行数为5行 MSFlexGrid1.Cols = 2 '规定表格的总列数为2行 MSFlexGrid某一单元格的文本内容 MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) ="https://www.sodocs.net/doc/9116858986.html, " 定义第3行第2列的文本内容为:“https://www.sodocs.net/doc/9116858986.html,” 右键选中MSFlexGrid的 Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = vbRightButton Then MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5 MSFlexGrid1.RowSel = MSFlexGrid1.Row '右键选种当前行---备用u3u3: 'MSFlexGrid1.Col = 0 'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1 '右键选种当前单元格---备用u3u3: 'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5 'MSFlexGrid1.Col = MSFlexGrid1.Col 'Text1.Text = MSFlexGrid1.Text End If End Sub

实验名称MFC基本控件的使用

1、实验名称:MFC基本控件的使用 2、实验目的:掌握编辑框类及其方法,熟练掌握利用编辑框类开发基于MFC的应用 程序的方法。 3、实验内容:使用MFC AppWizard创建如图一所示的基于对话窗的应用程序,实现算 术加、减、乘和除运算。 图一 4、程序实现方法: (1)使用AppWizard建立应用程序框架 ①在进入Visual C++ 6.0的第一个界面下,选择MFC AppWizard(exe),在Project name 文本输入框中输入新建的项目名称“计数器”,并设置其所在位置,单击OK按钮,如图二所示。 图二Visual C++ 6.0的第一个界面 ②在MFC AppWizard的第一步中选择基本对话,如图三所示,其余的都采用默认选项。

图三MFC AppWizard的第一步界面 这样就建立了一个基于对话框的程序,如图四所示。 图四基于对话框的界面 (2)利用资源编辑器建立对话框 在图四的Resource View选项卡中打开Dialog资源组,本程序的工程文件名为计数器,因此,系统自动产生一个名为IDD_MY_DIALOG的资源文件,双击IDD_ MY_DIALOG,在右边的窗口中显示出待编辑的对话框。根据如图一所示的样式,利用Visual C++ 6.0的控键(Controls)建立对话框。 下面以“数据1”编辑框和“+”按钮为例介绍控件的创建过程,其他编辑框和按钮的创建可参照此操作: ①在图四中Controls的“编辑框”按钮上单击鼠标左键、在如图一所示的对话框编辑窗口上的“数据1”编辑框的位置上,按下鼠标左键,并拖动鼠标画出一个大小合适的编辑框。在编辑框上单击鼠标右键,在弹出的快捷莱单中选择Properties选项,此时弹出Edit Properties 属性设置对话框,如图五所示,在该对话框中输入ID属性。

实验三 高级UI控件的使用

实验三高级UI控件的使用 姓名:杨赟班级:电信1302班学号:0121309340121 一、实验目的 学会高级UI控件的使用:菜单,对话框,提示通知,时间控件,列表和进度二、主要仪器设备及套数 计算机 三、实验内容 1.菜单 Options menu介绍 Options menu 是一个Activity中的菜单选项的主要组成部分,它是作用在全局的app中的,比如说 "Search","Compose email","Settings." 在Android 2.3 版本以下或者更低版本中,用户可以通过点击菜单按钮来弹出菜单选项面板 在Android 3.0 高级别的版本中,这种选项菜单已经被 Action Bar 这种直接在屏幕中操作选项或者弹出选项的组件所替代了。从Android 3.0 开始,菜单按钮是不赞成使用了(很多设备已经没有了菜单的按钮) ,所以你应该转移到 ActionBar 提供给用户操作其它选项的动作。 详情参考:Creating an Options Menu 2) Options menu 定义方式 创建 Options menu 这个菜单有两种使用方式,一种是在代码中直接创建,主要是使用add()方法的方式,查看Menu API 文档中的add()方法 public abstract MenuItem add (int groupId, int itemId, int order, CharSequence title) groudId:是指组ID,用以批量地对菜单子项进行处 理和排序 itemId:是子项ID,是每一个菜单子项的唯一标识 order:指定菜单子项在选项菜单中的排列顺序 titler:菜单标题 另外一种是在 XML 中定义一个菜单,引用代码如下 3) 触发事件 触发点击事件,当用户选择从菜单选项中选择一项的时候(包括 ActionBar中的action items) ,系统会调用你Activity的onOptionsItemSelected()方法,这个方法会

iFix定时器控件使用心得

iFix定时器控件使用心得 iFix的定时器控件,经常会把初学者搞得头晕脑涨,我说说自己的心得,供大家参考。 该控件是基于调度功能的,所以有一些用法和其它编程平台(如VB)里的定时器不太一样。 一、定时器的启动/停止 如果在编辑时TimerEnabled设为True,则运行时定时器会自动启动。如果在编辑时TimerEnabled设为False,则运行时需要先将TimerEnabled设为True,然后调用StartTimer方法。如果只将TimerEnabled设为True,但是不调用StartTimer 方法,定时器是不会开始工作的。如果要停止定时器,可以调用StopTimer方法,也可以直接将TimerEnabled设为False。也就是说有两种控制定时器启/停的方式: 方式一: 用如下代码启动:Timer1. TimerEnabled=True Timer1. StartTimer 用如下代码停止:Timer1. TimerEnabled=False 方式2: 在画面或调度的Initializes事件中加入:Timer1. TimerEnabled=True 用如下代码启动:Timer1. StartTimer 用如下代码停止:Timer1. StopTimer 二、以“连续”方式使用 以“连续”方式使用时,你会发现这样的现象,例如你希望一个画面被打开10秒钟后自动关闭,你会将定时器的Interval 属性设为10000,事实上却是,画面不到10秒就会被关闭,而且每次的延时时间还不是固定的,似乎是随机的,有时几乎是10秒,有时还不到1秒。这个举例中,定时器仅运行了1次(因为画面已经被关闭了),如果定时器一直运行下去,你还会发现,除了第一次的延时是“随机”的,从第二次开始,延时都是准确的。 这究竟是怎么回事呢?其实这是StartTime属性在起作用,StartTime属性的默认值是0:00:00,表示从午夜0点0分0秒开始,在这种情况下,如果设置为10秒钟的间隔,定时器被触发的时间将是每一分钟的0秒、10秒、20秒……50秒,如果从某一分钟的18秒启动了定时器,那么定时器第一次被触发的时间将会是20秒,也就是说,从启动到第一次触发之间仅有2秒钟的延时,如果你从15秒启动,会得到5秒钟的延时,这就是为什么你会觉得第一次的延时是“随机”的。 好的,既然知道了原因,自然也就有了解决的方法,那就是在每一次调用StartTimer方法之前,将StartTime属性设为当前时间,即Timer1. StartTime = Now就搞定了。例如在8:15:23秒启动,间隔10秒,第一次触发将会是在8:15:33秒的时候。 那是不是所有以“连续”方式使用时,这样作就都OK了呢?不是。这个方法是否有效(也就是得到精确的延时),要看你所希望的延时时间有多长,如果延时是10秒或更长,那没问题,这样是唯一正确且简便的方法。但如果你设置的延时间隔比较小,如3秒以内,甚至是毫秒级的,那么这个方法就会产生比较严重的误差。因为StartTime属性的时间精度只达到秒级,也就是说,实际的运行效果还是会有一定的误差,当然,这个误差最大不会超过1秒,所以一般来说对于5秒以上的延时设置,这个误差可以忽略。但如果延时设置是2秒,然后产生了接近1秒的误差,这就成问题了,误差率将近50%啊!如何解决此类问题呢?有办法,只是稍复杂一点。 例如,我们希望做到这样一个效果——有一个按钮对象(名为cmd1),当用鼠标点击这个按钮时,按钮消失不见,2秒钟之后又出现。也就是说在点击的时候把按钮的Visible属性设为False,并且启动一个定时器控件,2秒之后在定时器的OnTimeOut事件代码中,再把cmd1的Visible属性设为True。 如何比较精确地实现这2秒的时间间隔呢?具体做法是:将定时器的Interval属性设为100毫秒,定义一个模块级变

控件使用

、控件mscomm32.ocx 的几个重要属性 CommPort:设置并返回通讯端口号。 Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口。 Input:从接收缓冲区返回和删除字符。 Output:向传输缓冲区写一个字符串。 InBufferCount:返回接收缓冲区中等待的字符数,该属性在设计时无效,可以把InBufferCount 属性设置为0 来清除接收缓冲区。 InBufferSize:设置并返回接收缓冲区的字节数,接收缓冲区的大小。Rthreshold:产生OnComm 事件之前要接收的字符数。设置Rthreshold 为1,接收缓冲区收到每一个字符都会使MSComm 控件产生OnComm 事件。设置为0(缺省值)则不产生OnComm 事件。 CommEvent:返回最近的通讯事件或错误。该属性在设计时无效,在运行时为只读。只要有通讯错误或事件发生时都会产生OnComm 事件,CommEvent 属性存有该错误或事件的数值代码。CommEvent 属性返回2 表示收到Rthreshold 个字符。该事件将持续产生直到用Input 属性从接收缓冲区中删除数据。 2、实例: 该事例演示如何控制COM口发送命令及如何接收数据。本事例采用轮讯方式。适用于通讯数据 不是很巨大的和要求不是很高速的情况下。 (1)在VFP中,建立一个新的表单 (2)插入文本(命名为TEXT1,用来显示读取的数据) (3)建立Microsoft Communication Control1 控件在工具栏中点插入ole容器控件,选择Microsoft Communication Control 控件(NAMe为mscomm1) (4)建立一个按纽命名为command1 (5)在CHICK属性里下如下代码: **存储变量名字 buffer="" ** 使用COM1。 https://www.sodocs.net/doc/9116858986.html,mPort = 1 **9600 波特,无奇偶校验,8 位数据,一个停止位。 thisform.MSComm1.Settings = "9600,N,8,1" * 告诉控件读入整个缓冲区。 thisform.MSComm1.InputLen = 0 * 打开端口。 thisform.MSComm1.PortOpen = True **将attention 命令送到调制解调器。这是MODEM的状态读取命令 thisform.MSComm1.Output = "ATV1Q0" & Chr$(13) ** CHR(13)是回车符号,用来表示命令结束 **等待数据返回到串行端口。 vv=1 do while .t. Buffer = thisform.MSComm1.Input *从串行端口读"OK" 响应。

c_中timer控件的使用

C#中Timer组件用法 Timer组件是也是一个WinForm组件了,和其他的WinForm组件的最大区别 是:Timer组件是不可见的,而其他大部分的组件都是都是可见的,可以设计的。Timer组件也被封装在名称空间System.Windows.Forms中,其主要作用是当Timer组件启动后,每隔一个固定时间段,触发相同的事件。Timer组件在程序设计中是一个比较常用的组件,虽然属性、事件都很少,但在有些地方使用它会产生意想不到的效果。 其实要使得程序的窗体飘动起来,其实思路是比较简单的。首先是当加载窗体的时候,给窗体设定一个显示的初始位置。然后通过在窗体中定义的二个Timer组件,其中一个叫Timer1,其作用是控制窗体从左往右飘动(当然如果你愿意,你也可以改为从上往下飘动,或者其他的飘动方式。),另外一个Timer2是控制窗体从右往左飘动(同样你也可以改为其他飘动方式)。当然这二个Timer 组件不能同时启动,在本文的程序中,是先设定Timer1组件启动的,当此Timer1启动后,每隔0.01秒,都会在触发的事件中给窗体的左上角的横坐标都加上"1",这时我们看到的结果是窗体从左往右不断移动,当移动到一定的位置后,Timer1停止。Timer2启动,每隔0.01秒,在触发定义的事件中给窗体的左上角的横坐标都减去"1",这时我们看到的结果是窗体从右往左不断移动。当移动到一定位置后,Timer1启动,Timer2停止,如此反覆,这样窗体也就飘动起来了。要实现上述思路,必须解决好以下问题。 (1).如何设定窗体的初始位置: 设定窗体的初始位置,是在事件Form1_Load()中进行的。此事件是当窗体加载的时候触发的。Form有一个DesktopLocation属性,这个属性是设定窗体的左上角的二维位置。在程序中是通过Point结构变量来设定此属性的值,具体如下: //设定窗体起初飘动的位置,位置为屏幕的坐标的(0,240) private void Form1_Load ( object sender , System.EventArgs e ) { Point p = new Point ( 0 , 240 ) ; this.DesktopLocation = p ; } (2). 如何实现窗体从左往右飘动: 设定Timer1的Interval值为"10",就是当Timer1启动后,每隔0.01秒触发的事件是Timer1_Tick(),在这个事件中编写给窗体左上角的横坐标不断加"1"的代码,就可以了,具体如下:

使用C#的Timer控件来实现定时触发事件

使用C#的Timer控件来实现定时触发事件 C# Timer用法有哪些呢?我们在使用C# Timer时都会有自己的一些总结,那么这里向你介绍3种方法,希望对你了解和学习C# Timer使用的方法有所帮助。 关于C# Timer类在C#里关于定时器类就有3个 C# Timer使用的方法1.定义在System.Windows.Forms里 C# Timer使用的方法2.定义在System.Threading.Timer类里" C# Timer使用的方法3.定义在System.Timers.Timer类里 下面我们来具体看看这3种C# Timer用法的解释: ◆System.Windows.Forms.Timer 应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer 控件,内部使用API SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应用程序)无法使用。 ◆System.Timers.Timer 和System.Threading.Timer非常类似,它们是通过.NET Thread Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。 ◆System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。 C# Timer用法实例 使用System.Timers.Timer类 System.Timers.Timer t = new System.Timers.Timer(10000); //实例化Timer类,设置间隔时间为10000毫秒; t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件; t.AutoReset = true; //设置是执行一次(false)还是一直执行(true); t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件; public void theout( object source, System.Timers.ElapsedEventArgs e) { MessageBox.Show("OK!"); } C# Timer用法的基本情况就向你介绍到这里,希望对你了解和学习C# Timer使用有所帮助。详细参考:https://www.sodocs.net/doc/9116858986.html,/zh-cn/library/vstudio/system.timers.timer.aspx

VB6.0基本控件的属性

VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 所有控件都具有的属性: 1、Name: 表示在代码中用来标识一个控件的名字。 2、Enabled: 表示一个控件是否可以响应一个事件,即该控件可不可用。 值为true: 可以响应;值为false: 不可以看见。 3、Visible: 表示一个控件是否可见。值为true:可以看见;值为false: 不可以看见。所有控件都有具有的事件: 1、KeyDown : 当用户按下键盘上一个键时发生的。 2、KeyUp : 在用户松开键盘上按下的键时发生的。 3、KeyPress : 在Key Down和Key Up事件之间发生。 4、MouseDown : 在鼠标被按下时触发的。 5、MouseUp :在用户松开鼠标键时发生的。 6、Click :在用户单击鼠标左键时发生的。 7、DblClick :在用户双击鼠标时发生的。 一、窗体(Form) 属性: 1、Caption: 表示窗体标题栏的文字。 2、BorderStyle: 一般情况下为默认值,若更改为下列值: 1)值为0:没有窗体标题栏 2)值为1:窗体运行之后不能改变大小 3、WindowState: 设置窗体的大小。 3)值为0:窗体正常大小 4)值为1:窗体最小化 值为2:窗体最大化 4、BackColor: 表示窗体的背景颜色 事件: 1、Initialize(初始化事件): 在窗体加载和显示之前触发,这个事件只触一次。 2、Load(加载事件): 用来完成窗体显示之前需要完成的动作。 3、Activate/Deactivate (激活/非激活事件):是用户在同一个应用程序的两个或多个窗体之间移动时触发的。 4、QueryUnload(条件卸载事件): 决定窗体是如何关闭的。 触发QueryUnload事件时Unload 的参数和因素有: 1)VbFormControlMenu值为0 :选中窗体控件菜单中的Close命令。 2)VbFormCode值为1 :从代码中调用Unload 语句。 3)VbAppWindows值为2 :终止当前的Windows操作系统。 4)VbFormMDIForm值为4 :因为终止MDI父窗体而导致MDI子窗体的终止。 5、Terminate(终止事件):在窗体的所有实例从内存中清除时发生,只触发一次。方法: 1、Load:加载窗体,但不在屏幕上显示 2、Unload:卸载窗体,既从屏幕上也从内存中清除窗体。 3、Show:加载窗体并在屏幕上显示窗体。Show分为:

KVDBGrid控件使用方法

KVDBGrid控件使用方法 KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。 一、控件功能: 1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。 2.开发状态可设置显示表头。 3.运行状态可编辑表格中数据。但不更新数据库。 4.运行状态可动态设置过滤条件,刷新显示。 5.可打印表格中显示的数据,可进行横向和纵向分页。 二、使用说明: 1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。 2.按下鼠标左键,并拖动,在画面上绘制出表格区域。 3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。 4.设置控件属性:选择控件右键菜单中“控件属性”。弹出控件固有属性页,可分别设置如下属性:(1)、数据源: 单击“浏览”按钮可选择或新建ODBC数据源。 选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。 选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上

移”,“下移”按钮来选择要显示的字段和显示顺序。 单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。 最后在“查询条件”中设置限制条件(ODBC SQL语法)。如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入: 原料罐液位>10 and 日期=’2001/9/1’ (2)、表格属性: 可设置表格的一般属性。 说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由 使用者在设计状态编辑其显示内容。 (3)、颜色: 可设置表格颜色,背景颜色,文本颜色等信息。 (4)、字体:

vb6.0时间控件timer详解

vb6.0时间控件timer详解 通过引发Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。 语法 Timer 说明 Timer 控件用于背景进程中,它是不可见的 ************************以下是他的属性**************** Enabled 属性 返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应。 语法 object.Enabled [= boolean] Enabled 属性的语法包含下面部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象。如果object 被省略,则与活动窗体模块相联系的窗体被认为是object。 boolean 一个用来指定object 是否能够对用户产生的事件作出反应的布尔表达式。 设置 boolean 的设置为: 设置描述 True (缺省)允许object 对事件作出反应。 False 阻止object 对事件作出反应。 Enabled 属性示例 该例子使一个CommandButton 控件有效而不管TextBox 控件是否包含文本。要试用此例,先将下面的代码粘贴到带有CommandButton 和TextBox 控件的一个窗体的声明部分,然后按下F5 键并在文本框中随意输入一些内容。 Private Sub Form_Load () Text1.Text = "" ' 清除文本框的内容。

Command1.Caption = "Save" ' 在按钮上放置标题。 End Sub Private Sub Text1_Change () If Text1.Text = "" Then '查看文本框是否为空。 Command1.Enabled = False '使按钮无效。 Else Command1.Enabled = True '使按钮有效。 End If End Sub Interval 属性 返回或设置对Timer 控件的计时事件各调用间的毫秒数。 语法 object.Interval [= milliseconds] Interval 属性语法有以下组成部分: 部分描述 object 对象表达式,其值是“应用于”列表中的一个对象。 milliseconds 数值表达式,指定毫秒数,“设置值”中有详细说明,。 设置值 milliseconds 的设置值为: 设置值描述 0 (缺省值)使Timer 控件无效。 1 to 65,535 设置的时间间隔(以毫秒计),在Timer 控件Enabled 属性设置为True 时开始有效,例如,10,000 毫秒等于10 秒。最大值为65,535 毫秒,等于1 分钟多一些。 说明 可以在设计时或在运行时设置Timer 控件的Interval 属性。使用Interval 属性时,请记住: Timer 控件的Enabled 属性决定该控件是否对时间的推移做响应。将Enabled 设置为False 会关闭Timer 控件,设置为True 则打开它。当Timer 控件置为有效时,倒计时总是从其Interval 属性的设置值开始。 创建Timer 事件程序用以告诉Visual Basic 在每次Interval 到时该做什么。 Interval 属性示例

实验7 Windows窗体控件高级应用

实验六Windows窗体控件高级应用 一、实验目的: 理解 Windows 窗体 使用基本控件如标签、文本、按钮、列表框和组合框 掌握窗体的常用属性和方法 使用WinForms中的高级控件 了解 MDI 应用程序和 SDI 应用程序 了解菜单和掌握菜单控件的使用 掌握 ImageList 控件 掌握 ToolBar 控件和 StatusBar 控件 掌握Timer 控件 掌握 TreeView 控件 掌握 ListView 控件 二、实验要求 1. 整理上机步骤,总结经验和体会。 2. 完成实验日志和上交程序。 三、实验内容 ?建立个人简历的Windows应用程序。 ?使用菜单、工具栏来改变窗口的大小与颜色。 四、实训步骤: Windows窗体是Visual Studio .NET提供的集成开发环境(IDE),可用于Windows应用程序开发。它带有可用于创建GUI(Graphical User Interface,图形用户界面)的所有现成界面组件。 1:创建Windows窗体个人简历应用程序 问题 请编写一个简单的个人简历程序,要求可以通过文本框输入姓名,通过单选按钮设置性别,通过下拉列表框选择文化程度,通过文本区域填写其他个人信息;通过文件对话框选择照片并显示;通过两个下拉列表框来关联选择籍贯。 指导教师分析解题思路 该问题需要开发一个窗体,要求对用户的简历信息进行登记。该应用程序主要用到按钮、文本输入框、图片显示框、下拉列表框和列表框等控件。 分析 主要通过对窗体和各控件相应的事件处理函数进行编程,包括窗体的Load、下拉框的SelectedIndexChanged、按钮的Click事件。 表5.1 窗体的控件属性

相关主题