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 ...
随机推荐
- 201521123013 《Java程序设计》第7周学习总结
1. 本章学习总结 2. 书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Object o) { r ...
- 201521123079《java程序设计》第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 流与文件 I/O流:Input/Output处理的简称,本质上就是一个数据序列.分为输入流Input Stre ...
- SparkStreming之updateStateByKey
正文 上一篇简单的写了一个socketTextStream的demo,这个问题就是每一次不能将之前和之后的数据进行合并统一.接下来我们通过demo进行把着这个问题解决. val conf = new ...
- python基础之字典、赋值补充
字典常用操作: 存/取info_dic={'name':'egon','age':18,'sex':'male'} print(info_dic['name11111111']) print(info ...
- Maven常见错误以及解决方案【转载】
常见的Maven错误 当遇到401错误的时候,看看自己当前使用的Maven是集成的还是自己下载的,然后去配置setting.xml文件
- JDBC第四篇--【数据库连接池、DbUtils框架、分页】
1.数据库连接池 什么是数据库连接池 简单来说:数据库连接池就是提供连接的. 为什么我们要使用数据库连接池 数据库的连接的建立和关闭是非常消耗资源的 频繁地打开.关闭连接造成系统性能低下 编写连接池 ...
- Web开发模式【Mode I 和Mode II的介绍、应用案例】
开发模式的介绍 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II) 首先我们来理清一些概念吧: DAO(Data Access Object):主要对数据的 ...
- Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN
快速入门 使用 Spark Shell 进行交互式分析 基础 Dataset 上的更多操作 缓存 独立的应用 快速跳转 本教程提供了如何使用 Spark 的快速入门介绍.首先通过运行 Spark 交互 ...
- GitHub新手使用教学(从安装到使用)
一.安装Git for Windows(又名msysgit) 下载地址: https://git-for-windows.github.io/ 在官方下载完后,安装到Windows Explore ...
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
题目: 这是一道很神奇的题目,做法非常巧妙.巧妙在题目要求n个数字,而且正好要求和为n的倍数. 思路:用sum[i]表示前i个数字的和%n.得到sum[ 1-N ]共N个数字. N个数字对N取模,每个 ...