C#控件介绍及用法(详细版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#其实很好学,只要你弄清楚控件。
控件
控件是视窗交互的工具。控件是一种特殊的类,所有控件都继承自System.Windows.Forms.Control类。这里Control就叫做控件的基类,控件就是Control的派生类。一个类从基类继承,就拥有基类的所有成员(包括:变量(亦称字段),属性,函数(函数亦称方法),事件,运算符)。类之间通过继承关系保证了派生类拥有需要的方法或字段。所以Control的成员就是控件的通性。这里列出了Control
Visible属性该值指示是否显示该控件
Width属性获取或设置控件的宽度
BackColorChanged事件当BackColor属性的值更改时发生
BackgroundImageChanged事件当BackgroundImage属性的值更改时发生
Click事件在单击控件时发生
DoubleClick事件在双击控件时发生
DragDrop事件在完成拖放操作时发生
GotFocus事件在控件接收焦点时发生
KeyPress事件在控件有焦点的情况下按下键时发生
LocationChanged事件在Location属性值更改后发生
LostFocus事件当控件失去焦点时发生
MouseClick事件在鼠标单击该控件时发生
MouseEnter事件在鼠标指针进入控件时发生。
MouseHover事件在鼠标指针停放在控件上时发生。
MouseLeave事件在鼠标指针离开控件时发生。
MouseMove事件在鼠标指针移到控件上时发生
MouseUp事件在鼠标指针在控件上并释放鼠标键时发生
MouseWheel事件在移动鼠标滚轮并且控件有焦点时发生
Paint事件在重绘控件时发生
Resize事件在调整控件大小时发生
TextChanged事件在Text属性值更改时发生
以上是最常用的成员,便于查找,完整列表参考
/zh-cn/library/system.windows.forms.control_members.aspx
静态文本控件Label:
表示控件的文本标签,并提供对访问键的支持。
它是最简单的控件,用于显示文字,其实它不一定是静态的,显示的文字可以随时通过Text属性更改。常用的属性是Font、BackColor、ForeColor、Text、Location、Size、Visible。
超链接文本控件LinkLabel:
Windows 窗体LinkLabel控件使您能够向Windows 窗体应用程序添加Web 样式的链接。一切可以使用Label控件的地方都可以使用LinkLabel控件;还可以将文本的一部分设置为指向某个对象或网页的链接。
与Label类似,提供了类似超链接的文字样式,Label也可以设置Click事件,但LinkLabel更容易让人发现它被单击有不同的作用(由于它像超链接的样子)。也可以用作选项,【例】:
•新建工程,设计界面如图:
•修改LinkLabel控件名字:linkOption
•选择
•修改(Name)属性
•改为linkOption
•P.S.以后就用linkOption表示这个控件,在C#代码中控件实例实质上是一个变量,变量类型就是控件的类。这就是这个控件的变量名。由于默认的名称linkLabel1没有实际意义,编程时通常先修改其名字,使其好记。由于是变量名所以
命名规则与普通变量没有区别,由“_”或英文字母开头都是合法的,不允许重名。但通常许多控件共同运作来完成一
件具体的事,所以通常习惯在控件前面加上小写的类型简称,后跟首字母大写的名称。这是一条基本技巧,以后不
•双击linkOption编辑代码
private void linkOption_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkOption.Text = linkOption.Text == "On" ? "Off" : "On";
}
•运行
•多次单击linkOption查看效果。
这里使用了条件运算符来实现这个功能。
文本框TextBox:
表示Windows 文本框控件。
文本框是提供用户数据输入输出的控件。【例】:求三角形面积
•编辑界面如图
•分别命名为txtA、txtB、txtC、txtArea
•直接开始编辑代码:
•新建函数
private void textBox_Change(object sender, EventArgs e)
{
double a = 0, b = 0, c = 0, p = 0;
try
{
a = double.Parse(txtA.Text != "" ? txtA.Text : "0");
b = double.Parse(txtB.Text != "" ? txtB.Text : "0");
c = double.Parse(txtC.Text != "" ? txtC.Text : "0");
p = (a + b + c) / 2;
txtArea.Text = Math.Sqrt(p * (p - a) * (p - b) * (p - c)).ToString();
}
catch (FormatException) { txtArea.Text = "类型错误"; }
}
•设置txtA、txtB、txtC的Click事件处理函数为textBox_Change:
•按住Ctrl分别单击txtA、txtB、txtC以同时选择这三个控件
•查看事件列表
•找到TextChange事件
•选择textBox_Change
•运行
•输入一些数字查看运行情况。
还可以修改器PasswordChar属性使其变成密码框,这个属性的类型是char,只可以输入一个字符,用来代替原来显示文字的位置,令其为*或#看看效果吧: