在说控件之前,还是有必要说一下如何创建项目的。

  现在我们就不用创建控制台应用程序了,而是文件>新建>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#控件基础的更多相关文章

  1. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  2. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  3. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  4. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  5. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

  6. Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox

    Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...

  7. Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo

    Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo 值得注意的变化: 1.其父类 TScrollBox 的许多特性也很有用处, 如:   Memo1.UseSma ...

  8. Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox

    Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollB ...

  9. Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu

    Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...

  10. Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览

    Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public   constructor Create(...); ov ...

随机推荐

  1. [转载] java中静态代码块的用法 static用法详解

    一.java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序 ...

  2. 201521123117 《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 1.List中指定元素的删除(题目4-1) 1.1 实验总结: 1.通过equals方法以及l ...

  3. 201521123092《Java程序设计》第七周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码如下 publ ...

  4. 多线程面试题系列(14):读者写者问题继 读写锁SRWLock

    在第十一篇文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题.问题虽然得到了解决,但代码有点复杂.本篇将介绍一种新方法--读写锁SRWLock来解决这一问题.读写锁在对资源进行保护的同时,还 ...

  5. JSP引入 - UEditor 富文本编辑器

    UEditor  JSP 因为是项目第一天就导入了,现在过去一个多星期了,可能会有问题 官网:http://ueditor.baidu.com/website/ 1. 解压对应的UEditor压缩包至 ...

  6. PHPStorm调试PHP代码~实际操作+mark~~

    因为wamp自己已经下载了xdebug,只要配置开启就行了. 1. 配置php.ini(有就打开注释,没有就加上) XDEBUG Extension[xdebug]zend_extension =&q ...

  7. Lucene第一篇【介绍Lucene、快速入门】

    什么是Lucene?? Lucene是apache软件基金会发布的一个开放源代码的全文检索引擎工具包,由资深全文检索专家Doug Cutting所撰写,它是一个全文检索引擎的架构,提供了完整的创建索引 ...

  8. Git的使用详解

    起步 关于版本控制 Git 简史 Git 基础 安装 Git 初次运行 Git 前的配置 获取帮助 小结 Git 基础 取得项目的 Git 仓库 记录每次更新到仓库 查看提交历史 撤消操作 远程仓库的 ...

  9. pig报错

    pig failed to read data from....... 错误可能1:load data的目录不在,或者引用出错,load data '/in/train'这里的红色/应该去掉,因为默认 ...

  10. Qt--自定义View

    这是上一篇文章的续篇,关于自定义View. 多个View内部可以映射到同一个数据模型,也可以映射不同的数据结构:可以使用所有数据,也可以只使用部分数据.因为视图层与数据层的分离,操作相对比较灵活. 1 ...