`
pcajax
  • 浏览: 2197043 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

WinForm的RadioButton使用小技巧

阅读更多

 

有时候在一个窗体中有比较多的RadioButton,它们往往是作为取数据、业务逻辑等操作的条件。例如下图例子所示:

用户选择“全部”则会带出全部符合条件数据、选择了“已审核”则会取出全部符合条件的已经审核过后的数据.......我们一般的处理方法是每个RadioButton控件有一个CheckedChanged事件。如下面代码所示

代码

private void rdAll_CheckedChanged(object sender, EventArgs e)
        {
if (rdAll.Checked)
            {
this.gvData.DataSource = GetDataSource("ALL");
            }
        }
private void rdAudit_CheckedChanged(object sender, EventArgs e)
        {
if (rdAudit.Checked)
            {
this.gvData.DataSource = GetDataSource("Audit");
            }
        }
private void rdNotAudit_CheckedChanged(object sender, EventArgs e)
        {
if (rdNotAudit.Checked)
            {
this.gvData.DataSource = GetDataSource("NotAudit");
            }
        }
private void rdBilled_CheckedChanged(object sender, EventArgs e)
        {
if (rdBilled.Checked)
            {
this.gvData.DataSource = GetDataSource("Bill");
            }
        }
private void rdUnBill_CheckedChanged(object sender, EventArgs e)
        {
if (rdUnBill.Checked)
            {
this.gvData.DataSource = GetDataSource("UnBill");
            }
        }

当窗体的RadioButton控件比价多时,那么放眼望去,代码里面到处都是CheckedChanged事件、简直有如洪水泛滥。呵呵

其实我们可以委托来改进代码、这样可以让代码看起来简洁、逻辑清晰、代码量大量减少(当然这个例子不能够证明)。下面看看是如何改进的吧:

     我们把所有RadioButton控件的CheckedChanged事件用同一个事件替换。 如下图所示,

代码

private void RadioBtn_CheckedChanged(object sender, EventArgs e)
        {
if (!((RadioButton)sender).Checked) return;
string filterValue = string.Empty;
switch (((RadioButton)sender).Tag.ToString())
            {
case "ALL":
                    filterValue = "ALL";
break;
case "Audit":
                    filterValue = "Audit";
break;
case "NotAudit":
                    filterValue = "NotAudit";
break;
case "Bill":
                    filterValue = "Bill";
break;
case "UnBill":
                    filterValue = "UnBill";
break;
            }
this.gvData.DataSource = GetDataSource(filterValue);
        }

这样处理那么就可以共用许多相同的代码(这个简单的例子没有体现)。让代码界面简明清晰不少!

分享到:
评论

相关推荐

    c# winform实例大全(198个Csharp WinForm实例源码)

    《C# WinForm实例大全》是一份集合了198个Csharp WinForm应用程序实例的资源库,旨在帮助开发者深入理解和掌握C#编程语言在Windows桌面应用开发中的实践技巧。WinForm是.NET Framework中用于创建图形用户界面(GUI)...

    160多个C#WinForm简单小例子

    标题"160多个C# WinForm简单小例子"表明这是一份包含大量示例代码的资源集合,旨在帮助初学者快速理解和掌握C# WinForm编程的基本概念和技巧。 描述中提到,这些小例子"有的只是几行代码",这表明它们设计得非常...

    winform控件使用代码实例

    WinForm控件是.NET Framework中用于创建用户界面的可视化组件,它们在Windows应用程序开发中扮演着...《C#程序开发范例宝典1(01-20)》这样的资源可以提供更多的实践示例,帮助深入理解和掌握WinForm控件的使用技巧。

    winform小例子

    这个"winform小例子"的压缩包文件提供了一系列基础控件的使用示例,可以帮助开发者更好地理解和掌握WinForm开发的基本技巧。 在WinForm开发中,基础控件是构建用户界面的关键元素。以下是一些常见的WinForm控件及其...

    winform小东东

    通过实践"Winform小东东"这样的项目,可以提升对控件、数据库操作以及基本的GUI编程技巧的理解。此外,了解如何打包和发布应用程序也是开发者必备的技能之一,这有助于将自己的作品分享给他人或在实际环境中部署。 ...

    Winform 界面设计 视频教程

    一些小技巧: 部分异常 全局异常 日志的重要性 门: 合理的使用控件 面向对象的方式使用控件 控件多的时候如何操作. 动态加载和组合控件 自定义控件(用户控件) 遁: 窗体美化 如何使用皮肤来美化控件...

    经典C#WinForm实例源码

    1. 基本控件使用:源码可能包括按钮(Button)、文本框(TextBox)、标签(Label)、复选框(CheckBox)、单选按钮(RadioButton)、列表框(ListBox)、组合框(ComboBox)等基本控件的创建、属性设置和事件处理。 2. 窗体设计:...

    WINFORM学习与设置快捷键

    【标题】"WINFORM学习与设置快捷键"涵盖了Windows Forms(简称WinForm)开发的基础知识,特别是关于在WinForm应用程序中实现用户界面交互和自定义快捷键操作的技巧。WinForm是.NET Framework提供的一种用于创建桌面...

    winform实用代码

    2. **控件(Control)**:WinForm提供了多种内置控件,如按钮(Button)、文本框(TextBox)、标签(Label)、复选框(CheckBox)、单选按钮(RadioButton)等,这些控件可以用来接收用户输入或显示信息。...

    198个经典C#WinForm实例源码(超赞)

    在本资源“198个经典C# WinForm实例源码(超赞)”中,你将获得一系列丰富的C# WinForm应用实例,这些实例涵盖了C# WinForm开发中的多种常见功能和技巧,对于初学者和有经验的开发者来说都是宝贵的学习材料。...

    winForm28个实例

    本资源包含28个WinForm实例,旨在帮助开发者学习和掌握WinForm编程的各种技巧和实践。 在这些实例中,你可以期待学习到以下关键知识点: 1. **窗体(Form)的基本操作**:创建窗体,设置窗体属性(如大小、位置、...

    198个经典C#WinForm实例源码(超赞).rar_198个经典csharp_WinformQQ源码_c# winform源

    1. **基本控件的使用**:如按钮(Button)、文本框(TextBox)、标签(Label)、列表框(ListBox)、复选框(CheckBox)、单选按钮(RadioButton)等,它们是WinForm界面的基础元素。 2. **事件处理**:每个控件都有其特定的...

    198个经典C#WinForm实例源码.zip

    1. **控件使用**:WinForm提供了丰富的控件库,如按钮(Button)、文本框(TextBox)、标签(Label)、复选框(CheckBox)、单选按钮(RadioButton)、列表框(ListBox)、组合框(ComboBox)等。每个控件都有其特定...

    C# winform 学习资料汇总

    WinForm是.NET Framework提供的一个用于创建图形用户界面(GUI)的框架,它允许开发者使用丰富的控件库来设计、布局和交互式的桌面应用。 1. **C#基础语法**: - 数据类型:C#有基本数据类型(如int, double, bool...

    winform控件

    Winform控件是微软.NET Framework框架中用于构建桌面应用程序用户界面的重要组成部分。这些控件允许开发者创建各种...在"第1章 控件操作"中,你将有机会实践这些基础控件的使用,逐步掌握Winform应用程序的开发技巧。

    198个经典C#WinForm实例源码(超赞).rar

    1. **基本控件的使用**:如按钮(Button)、文本框(TextBox)、标签(Label)、复选框(CheckBox)、单选按钮(RadioButton)等,以及如何响应用户的点击事件、输入事件等。 2. **布局管理**:理解FlowLayoutPanel和...

    C#Winform组件应用

    1. **组件库**:C# WinForm提供了丰富的组件库,如按钮(Button)、文本框(TextBox)、标签(Label)、复选框(CheckBox)、单选按钮(RadioButton)、列表框(ListBox)、组合框(ComboBox)、进度条(ProgressBar)等。...

    C# WinForm开发控件详解

    本课程深入讲解了C# WinForm开发中的控件使用,旨在帮助学习者掌握WinForms应用程序的设计和开发技巧。 一、WinForms控件基础 WinForms控件是构建用户界面的基本元素,它们可以是按钮、文本框、标签、列表视图等。...

    winfrom窗体应用程序设计大全

    WinForm包含了大量的内置控件,如按钮(Button)、文本框(TextBox)、标签(Label)、列表框(ListBox)、复选框(CheckBox)、单选按钮(RadioButton)等。了解每个控件的功能、属性、方法和事件,能帮助你构建各种用户界面。 ...

    C#Winform控件应用

    通过以上讲解,我们可以看到C# Winform控件应用不仅包括基础控件的使用,还涵盖了复杂控件、控件的属性、方法、事件以及设计和优化的技巧。这门课程将帮助开发者更好地掌握C# Winform应用程序的开发,提升GUI设计和...

Global site tag (gtag.js) - Google Analytics