软件编程
位置:首页>> 软件编程>> C#编程>> C#实现一键清空控件值的示例代码

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

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

标签:C#,清空,控件值

场景

在任何一个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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com