• 大小: 0.03M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2020-12-26
  • 语言: C#
  • 标签: winform  MVVM  

资源简介

在我们的客户端应用程序开发中,可能会涉及大量的控件操作的代码,如 TreeView,DataGridView,ListBox 等等,这些控件虽然都提供了基本的数据操作接口,但是这些接口的功能都非常的基础和简单,考虑如下操作:

在控件中使指定的数据处于选中状态;
在控件中删除符合条件的数据;
向控件中的指定位置添加数据,并判断数据的类型是否符合预期;
在控件中查找符合条件的数据;
获取控件中选中的数据,直接返回强类型结果;
移动指定的数据到另一个数据项目之前/之后;
展开树控件中符合条件的树节点;

这些操作有一个重要的共同点,都是针对“数据”进行操作,但是基本的的控件接口,没有这么多功能,既有的接口也多是以 object 作为参数来操作的,如果要实现这些功能,很多时候程序员需要写一些“业务代码”来完成,在业务代码中迭代数据源,写条件判断,做类型转换,最后调用控件的基本操作接口。

Sheng.Winform.Controls.Controller 使用控制器,来为这些控制提供这些共通的操作,包括:

DataGridViewController
TabControlController
TreeViewController
ListBoxController

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
using System.ComponentModel;
using System.Collections;

namespace Sheng.Winform.Controls.Controller
{
    /*
     * MSDN ListBox:
     * 除了显示和选择功能外,ListBox 还提供一些功能,使您得以有效地将项添加到 ListBox 中以及在列表的项内查找文本。
     * BeginUpdate 和 EndUpdate 方法使您得以将大量项添加到 ListBox 中,而不必每次将一个项添加到列表中时都重新绘制该控件
     * 。FindString 和 FindStringExact 方法使您得以在列表中搜索包含特定搜索字符串的项。
     */

    public class ListBoxController
    {
        #region 私有成员

        private ListBox _listBox;

        /// 
        /// 当前所绑定的对象的对象类型
        /// 

        private Type _currentType;

        private BindingListject> _bindingList = new BindingListject>();

        #endregion

     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\
     目录           0  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\DataGridViewController\
     文件        2947  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\DataGridViewController\ITypeBinderDataGridViewTypeCodon.cs
     文件        9190  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\DataGridViewController\TypeBinderDataGridViewComboTypeCodon.cs
     文件       36807  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\DataGridViewController\TypeBinderDataGridViewController.cs
     文件        6508  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\DataGridViewController\TypeBinderDataGridViewTypeCodon.cs
     文件        1079  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\LICENSE
     文件       14377  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\ListBoxController.cs
     文件        1444  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\README.md
     目录           0  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TabControlController\
     文件        4411  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TabControlController\TabControlController.cs
     文件        1023  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TabControlController\TypeBinderTabPage.cs
     目录           0  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TreeViewController\
     文件        2279  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TreeViewController\ITypeBinderTreeViewNode.cs
     文件       23766  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TreeViewController\TypeBinderTreeViewController.cs
     文件        5285  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TreeViewController\TypeBinderTreeViewNode.cs
     文件        7347  2018-06-08 14:58  Sheng.Winform.Controls.Controller-master\TreeViewController\TypeBinderTreeViewNodeCodon.cs

评论

共有 条评论