C#实现一键清空控件值的示例代码

作者:Csharp小记 时间:2021-11-12 12:10:15 

场景

在任何一个Form表单的操作页面或者数据台账的查询页面,基本都会看到一个清除的按钮,其功能就是用来清除我们需要抛弃的已经写入到控件内的数据。如果一个个控件来处理的话,想必会非常麻烦,而且系统不单单只是一个页面,多个页面要处理起来的话,痛苦程度已经是我们不能忍受的了。

需求

所以,综上场景所述,我们就需要封装个一键清除方法来实现,然后将这个方法放入到BaseForm中,其继承的窗体就可以直接使用了。

C#实现一键清空控件值的示例代码

开发环境

.NET Framework版本:4.5

开发工具

Visual Studio 2013

实现代码


/// <summary>
       /// 清空查询条件
       /// </summary>
       /// <param name="parent">父控件</param>
       /// <param name="action">需要特殊处理的事件</param>
       public void ClearValue(Control parent, System.Action action = null)
       {
           foreach (Control c in parent.Controls)
           {
               if (c.HasChildren)
               {
                   ClearValue(c, action);
               }
               switch (c.GetType().Name)
               {
                   case "TextBox":
                       ((TextBox)c).Text = "";
                       break;
                   case "ComboBox":
                       ((ComboBox)c).Text = "";
                       break;
                   case "CheckBox":
                       ((CheckBox)c).Checked = false;
                       break;
                   case "RadioButton":
                       ((RadioButton)c).Checked = false;
                       break;
                   case "DateTimePicker":
                       ((DateTimePicker)c).Value = DateTime.Now;
                       break;
               }
           }
           if (action != null)
           {
               action.Invoke();
           }
       }
private void btn_clear_Click(object sender, EventArgs e)
       {
           ClearValue(this);
       }

private void btn_vip_Click(object sender, EventArgs e)
       {
           ClearValue(this, () =>
           {
               checkBox1.Checked = true;
           });
       }

实现效果

C#实现一键清空控件值的示例代码

代码解析

首先是时间控件,没有清空可以看代码中的赋值情况,这里是默认又给重新赋值了当前时间,所以没有做任何改变;然后就是清除控件的方法增加了一个Action参数,这里主要是用来处理一些有其他默认值不需要清除的情况,因为每个页面每个控件的处理逻辑是不一样的,为了使这个方法更具有全面性,所以提供了一个可以特殊处理的参数。

来源:https://mp.weixin.qq.com/s/ME4IVz0i5mNyfQQg9Yp6bw

标签:C#,清空,控件值
0
投稿

猜你喜欢

  • Java超详细讲解设计模式中的命令模式

    2023-07-26 15:23:11
  • SpringBoot如何返回Json数据格式

    2023-01-12 16:28:51
  • 计算字符串和文件MD5值的小例子

    2023-12-10 20:31:19
  • C#使用Matrix执行缩放的方法

    2022-05-03 15:46:58
  • 如何将javaweb项目部署到linux下

    2023-11-11 11:45:11
  • 自定义类加载器以及打破双亲委派模型解析

    2023-06-22 22:03:59
  • java8实现List中对象属性的去重方法

    2023-08-30 20:50:48
  • C# Winform实现自定义漂亮的通知效果

    2021-08-10 08:15:29
  • Lombok为啥这么牛逼?SpringBoot和IDEA官方都要支持它

    2021-10-18 23:04:50
  • 简单捋捋@RequestParam 和 @RequestBody的使用

    2022-11-02 16:19:20
  • Java中Jackson快速入门

    2023-01-18 10:24:44
  • Java获取彩色图像中的主色彩的实例代码

    2021-10-16 01:09:39
  • java8 Stream list to Map key 重复 value合并到Collectio的操作

    2022-02-01 23:53:58
  • springboot扩展MVC的方法

    2023-12-15 14:19:05
  • 使用Java桥接模式打破继承束缚优雅实现多维度变化

    2023-08-23 09:00:34
  • C# 获取系统进程的用户名

    2022-12-06 02:38:03
  • JDK源码之PriorityQueue解析

    2022-05-15 17:17:15
  • mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    2022-03-02 10:20:58
  • 一篇超详细的Spring Boot整合Mybatis文章

    2022-01-27 10:02:58
  • 详解Flutter桌面应用如何进行多分辨率适配

    2023-06-17 07:14:59
  • asp之家 软件编程 m.aspxhome.com