C#控件基础
在说控件之前,还是有必要说一下如何创建项目的。
现在我们就不用创建控制台应用程序了,而是文件>新建>C#>Windows窗体应用程序。名称,位置自己选择。

创建好了大致就是这样了,可能因为VS版本不同或者个人设置不同,有的东西的位置不一样,但都是可以找到的。

这里的Form1就是一个窗体应用了。我们可以在上面添加一些控件。不过,还是先说说它的一些基本属性吧!
它的属性在这里:(如果没有直接显示属性这一栏,我们可以鼠标右边点击这个窗体,然后下面就有个属性)

属性:
name:窗体名字
Text:窗体标题(我这里是Form1,所以左上角显示的就是Form1)
StartPosition:窗体最开始出现的位置(我们一般只用它里面的CenterScreen值,就是居于屏幕正中)

我们只需找到这个属性,然后点击对应后面的箭头就可以选值了,其他的属性也一样。
MaxmizeBox:是否允许最大化,True代表允许,False代表不允许
MinmizeBox:是否允许最小化,True代表允许,False代表不允许
HelpButton:是否显示帮助按钮。注意:只有在最大化和最小化两个按钮都不存在的情况下才能使用帮助按钮。
FormBorderStyle:值FixedSigle表示运行起来不能调整窗体大小。用过QQ的人都知道,QQ的登陆界面是不能自己调整大小的。
另外就还有BackColor之类的,但是一般不会去用它,因为我们是可以还皮肤的。
控件:
控件在何处?在工具箱里面,选择公共控件,这里面就是一些控件。(如果没有看见工具箱,那就点击视图下面的工具箱,或者按快捷键Crtl+X)

如何添加控件:我们只需将要添加的控件选中,然后用鼠标拖到窗体上的合适位置就可以了。
常用控件:(我们新建了一个控件之后,都会给他重新命名,所以,我们一般会为他加上一个前缀,方便后面使用)
label:存放文本,命名前缀:lbl
TextBox:文本框,命名前缀:txt
常用属性:
maxlength:可输入的最大长度
passwordchar:设置为密码框
Text:文本框里的值(内容)
RadioButton:单选按钮,命名前缀:rdo
CheckBox:多选按钮,命名前缀:chk
常用属性:
checked:是否默认选中
ComboBox:下拉列表框,命名前缀:cbo
Button:按钮,命名前缀:btn
常用属性:
Text:按钮的文本,相当于就是按钮上面的提示文字
更改控件的属性和更改窗体的属性的方法一样。
事件
有了控件,那就得有事件。什么是事件呢?比如我们点击一下一个按钮,就会出现某种效果,这个就叫一个事件。
举个例子: 我们创建一个窗体,然后添加一个button控件,没点击一次,窗体的背景颜色就换一次。
首先,我们要创建一个控件。

然后,我们就要写代码来实现这个功能。
那么在哪里写代码呢?双击刚刚创建的控件就可以了。

代码写好后运行起来就是:

点击一下:

再点一下:

反正我每点击一下,就会变一种颜色。
代码如下:(我相信这点代码有点基础的都看得懂的)
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 WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
;
private void button1_Click(object sender, EventArgs e)
{
)
{
this.BackColor = Color.Red;//this指向一个属性
}
)
{
this.BackColor = Color.Blue;
}
)
{
this.BackColor = Color.Yellow;
}
)
{
this.BackColor = Color.Pink;
}
i++;
}
}
}
对于控件这个东西,就是自己去多加联系。
例子2:我们创建一个文本框,和一个按钮,在文本框中输入内容,然后弹出一个消息框显示输入的内容是什么。
窗体设计:这里我把文本框的名字改为了txtEnter,按钮的名字改为了btnXianShi 。命名用驼峰命名法

写代码控制事件:我们只需添加一个点击事件就可以了,如果文本框为空,就提示输入内容,文本框不为空,就弹窗输出。所以就双击button控件添加事件。
运行起来,当我不输入内容的时候就会提示我还没输入内容:

当我输入内容后:

代码如下:
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 WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void btnXianShi_Click(object sender, EventArgs e)
{
//先判断文本框是否有内容
//没有内容
if (this.txtEnter.Text == "") //这里括号里的意思就是:this.指向txtEnter这个文本框.Text就是指向文本框中的内容 == 空
{
/*
*弹窗提示
*MessagesBox.Show();就是个方法
*它里面有四个值:第一个是输出的内容,第二个是左上角的标题,第三个是下面的按钮,第四个是图标
*/
MessageBox.Show("你还没输入内容","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
//让光标回到文本框中,方便输入
this.txtEnter.Focus();
//写上return的作用就是阻止代码往下执行,只有当文本框中有内容才可以往下执行
return;
}
//有内容
//弹窗显示
//这次弹窗输出的内容就是刚刚文本框中的内容,所以,写上this.txtEnter.Text即可
MessageBox.Show(this.txtEnter.Text,"内容",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
}
在上面这个例子中,我们还可以删除文本框中的内容。大致流程就是:添加一个按钮,然后在这个按钮里面写一个删除事件,就是当点击按钮时,文本框中的内容就变为空值,这里怎么变空值就可以借鉴一下上面代码中的判断空值处的代码。
这个我就不做了,你来试试吧!
如果有不懂得地方可以问我哟!QQ:1289747698,邮箱:taohankkkkl.outlook.com,留言也可以哦!
C#控件基础的更多相关文章
- 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree
原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...
- Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...
- Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox
Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...
- Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo
Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo 值得注意的变化: 1.其父类 TScrollBox 的许多特性也很有用处, 如: Memo1.UseSma ...
- Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox
Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollB ...
- Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu
Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...
- Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览
Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public constructor Create(...); ov ...
随机推荐
- 201521123090 《Java程序设计》第7周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代 ...
- 201521123089 《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 总结: (1)类名的首字母一定要大写. (2)制类型转换:类强制转换为子类时只有当引用类型真 ...
- 201521123038 《Java程序设计》 第九周学习总结
201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...
- Junit4学习(一)新建Junit4工程
一,学习Junit4,学以致用 二,熟悉编写流程 工具:Eclipse,Junit包,hamcrest.core包 1,打开Eclipse开发工具,新建工程:file->Java Project ...
- 下载安装ActiveMQ(消息队列)
安装步骤: 第一步.安装jdk环境,因为ActiveMQ是使用java语言编写. 第二步.将下载好的activemq压缩包上传至Linux系统,进行解压. 第三步.进入解压后的bin/目录,进行启动a ...
- linux系统命令<一>----关机重启
1.shutdown shutdown -h now 立刻关机 shutdown -h 20:00 20:00关机 shutdown -h +10 十分钟后关机 shutdown -r ...
- ops-web运维平台-create.jsp-mootools下拉框-复选框
create.jsp页面的,body部分 <body onload="Page.init('${pageError}','${pageMessage}',${isSubmit},tru ...
- 用vue开发一个app(3,三天的成果)
前言 一个vue的demo 源码说明 项目目录说明 . |-- config // 项目开发环境配置 | |-- index.js // 项目打包部署配置 |-- src // 源码目录 | |-- ...
- 都是Javascript的作用域惹得祸
案件重现 今天有位然之OA 系统的定制开发用户咨询了个问题,他想在新加的功能模块的操作面板中,实现用户点击删除按钮时提示友好提醒,如下: 问题很简单,虽然他自己最终达到目的效果了,但不知道起初问题出在 ...
- 优秀的CSS预处理----Less
Less语法整理 本人邮箱:kk306484328@163.com,欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/kk-here/p/7601058.html ...