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

  现在我们就不用创建控制台应用程序了,而是文件>新建>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. Quartz的misfire处理机制分析

    Quartz是一个特性丰富的开源的任务调度开发库,它可以很方便的集成到你的应用程序中.在Quartz中,当一个持久的触发器因为调度器被关闭或者线程池中没有可用的线程而错过了激活时间时,就会发生激活失败 ...

  2. 201521123079《java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过? ...

  3. 201521123039 《java程序设计》第十周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 总结:需要 ...

  4. 201521123045java课程设计---定时器

    #课程设计--定时器(201521123045 郑子熙) 1.团队课程设计博客链接 http://www.cnblogs.com/chendajia/p/7065730.html 2.个人负责模块或任 ...

  5. 201521123024 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容.

  6. JavaScript总体的介绍【JavaScript介绍、定义函数方式、对象类型、变量类型】

    什么是JavaScript? 我们可以从几个方面去说JavaScript是什么: 基于对象 javaScript中内置了许多对象供我们使用[String.Date.Array]等等 javaScrip ...

  7. 【Debian 8.8】Java 8 安装以及环境变量配置

    事实上可以分为简单的三个步骤: 下载 JDK 压缩包 解压压缩包 配置环境变量 需要注意的是: 所有命令默认在 root 权限下进行! 演示环境是 Debian 8.8 64位 (阿里云学生机) 1. ...

  8. 【轉】JS,Jquery获取各种屏幕的宽度和高度

    Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...

  9. 翻译连载 | 第 9 章:递归(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  10. PHP中public、protected、private权限修饰符

    PHP中有三种访问修饰符 默认是public public(公共的.默认) protected(受保护的) private(私有的) 访问权限 public protected private 类内 ...