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

  现在我们就不用创建控制台应用程序了,而是文件>新建>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. 201521123081《Java程序设计》 第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 参考资料:XMIND 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集 集合 Q1. Li ...

  2. 201521123051《java程序设计》 第一周学习总结

    1. 本章学习总结 Java可以算是从C++发展而来的,因此Java与C语言的语法应该是比较类似的.但通过初步学习1.java语言的发展过程 2.java的特点 系统简单,功能齐备. 3.java的三 ...

  3. 201521123089 《Java程序设计》第1周学习总结

    1. 本周学习总结 学习了java的发展史以及JDK,JVM,JRE; 2. 书面作业 1.为什么java程序可以跨平台运行?执行java程序的步骤是什么? java有JVM,实在虚拟机上运行的. 2 ...

  4. 201521123006 《java程序设计》 第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...

  5. 201521123007《Java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自 ...

  6. 201521123100 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  7. JAVA课程设计+五子棋(个人博客)

    1.团队博客地址: http://www.cnblogs.com/yzb123/p/7063424.html 2.个人负责模块或任务说明 游戏初始化,清除棋盘上的棋子 鼠标监听器 棋子落棋 判断胜负 ...

  8. 201521123122 《java程序设计》第十一周学习总结

    ## 201521123122 <java程序设计>第十一周实验总结 ## 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 其实这周也没讲多少内容,所 ...

  9. 【实验吧】Reverse400

    在网上下载,pyinstxtractor.py,对Reverse400.exe进行反汇编 得到其源代码为 $ cat Revesre03 data = \ "\x1c\x7a\x16\x77 ...

  10. Cornfields poj2019 二维RMQ

    Cornfields Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submit S ...