zoukankan      html  css  js  c++  java
  • 面向对象编程的乐趣(TextBox.Text="")

    今天,翻开《大话设计模式》的简单工厂模式,在探索的过程中获得了一些收获,深感面向对象思想的“力量”。但是看完这个模式后还是感觉有些晕头转向,无法真正地体会到其中的奥秘。也许这就想作者所言,看这本书有那么几个层次,而我可能则处于最低的那个层次吧!

    我没有作者渊博的知识,但是可以和同志们分享一下今天我编的一个小程序,主要是讲一个复位键(还是《大话设计模式》中的小菜编出来的那个例子用在WinForm中,只不过添加了一个清空键即复位键)。

    以往在很多时候我们编写程序的时候会使用到复位功能,单击一个按钮使得每一个TextBox中的内容清空。我常常所做的工作就是编写一个函数(严格来说应该是过程,没有返回值的函数称为过程-----《C语言的科学和艺术》),在这个函数中我经常写类似这样的代码:

    private void Reset_Click(object sender, EventArgs e)
    {
        TextBox1.Text 
    = "";
        TextBox2.Text 
    = "";
         ...
        TextBoxN.Text 
    = "";
    }
    虽然写起来这些代码不用怎么费脑子,但是感觉这样真的挺累的;如果TextBox是个数组就可以通过遍历数组的方式清空Text属性了,可是我们的TextBox空间命名有并不是统一的,如何用数组的方式呢?这样的想法我很早就就有了,但是一直没有能够实现。通过对面向对象这几天的学习,我今天终于实现了我几年前的想法,呵呵,心里甭提多美了。我先把代码贴出来,再对其讲解,相信熟悉面向对象的朋友们一定都能够明白,但用没用过这样的方法就不清楚了,呵呵。如果有什么更好的想法,欢迎大家提出来啊!
    private void Reset_Click(object sender, EventArgs e)
    {
        TextBox[] Temp
    ={TextBox1,TextBox2,,TextBoxN};
        
    foreach (TextBox Item in Temp)
        {
            Item.Text 
    = "";
        }
    }
    我是学习完继承之后,懂得了父类可以生成子类的对象之后明白的。这样说可能有些牵强。TextBox1,TextBox2等等其实都是TextBox对象,也可能是其他的继承TextBox的对象(这些对象可能是我们写的用户自定义控件),因此他们都可以被清空。这样写代码虽然多了一个foreach语句,但是减少了N-1个.Text=""啊!感觉很舒服,呵呵!
  • 相关阅读:
    windows命令行下杀死进程的方法
    nodejs与javascript 笔记
    SQL Server 从一组数字中随机获取一个数
    SQL Server Default Trace查看是谁对数据库进行了DDL操作
    Default Trace 查找日志文件快速增长的原因
    使用Default Trace查看谁还原了你的数据库?
    SQL Server 默认跟踪(Default Trace)介绍使用
    (转载) SQL Server AG集群启动不起来的临时自救大招
    (转载) 搭建非域AlwaysOn win2016+SQL2016
    (转载) 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
  • 原文地址:https://www.cnblogs.com/iPeterRex/p/1303636.html
Copyright © 2011-2022 走看看