DataBindingHelper使用手册

1.引用Rabbit.Core.dll文件

也就是我自己编写的功能库Rabbit.Core.dll呵呵。

Rabbi.Core.DLL密码:dgqv        xml注释    密码:uxxk

2.引用命名空间

using Rabbit.Core;

3.示例demo

using System;
using System.Windows.Forms;
using Rabbit.UI.DataBindingHelper;
using System.Collections.Generic;
using Rabbit.Core;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
#region 共有变量
List<FieldBindingContent> fieldList = new List<FieldBindingContent>();
#endregion public Form1()
{
InitializeComponent(); } FieldBindingContent fbc;
private void Form1_Load(object sender, EventArgs e)
{
List<a> aas = new List<a>();
aas.Add(new a() { ID = "", dispalyvalue = "男" });
aas.Add(new a() { ID = "", dispalyvalue = "女" });
comboBox1.DataSource = aas;
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "dispalyvalue";
GetControlList();
}
//将需要操作的控件进行绑定
public void GetControlList()
{
fieldList.Add(new FieldBindingContent("name", "文本框", textBox1, "Text", ""));
fieldList.Add(new FieldBindingContent("remark", "富文本框", richTextBox1, "Text", ""));
fieldList.Add(new FieldBindingContent("sex", "", comboBox1, "SelectedValue", ""));
fieldList.Add(new FieldBindingContent("flag", "true", checkBox1, "Checked", false)); }
private void button1_Click(object sender, EventArgs e)
{
foreach (FieldBindingContent item in fieldList)
{
if (item.FieldName != "sex") {
continue;
}
label5.Text = item.FieldValue.ToString();
}
} private void button2_Click(object sender, EventArgs e)
{
foreach (FieldBindingContent item in fieldList)
{ item.SetDefaultProperty();
}
} private void button3_Click(object sender, EventArgs e)
{
foreach (FieldBindingContent item in fieldList)
{
if (item.FieldName == "remark")
item.SetProperty("hello!");
}
} private void button4_Click(object sender, EventArgs e)
{
foreach (FieldBindingContent item in fieldList)
{
if (item.FieldName == "flag")
label6.Text = item.GetProperty().ToString();
}
} private void label5_Click(object sender, EventArgs e)
{ } }
public class a
{
public string ID { get; set; }
public string dispalyvalue { get; set; }
}
}

4.演示效果

5.主要操作方法说明

I.public FieldBindingContent(string fieldName,
                                   object fieldValue,
                                   Control bindingControl,
                                   string bindingProperty,
                                   object defaultValue

)

主要是通过FieldBindingContent类的构造函数来实现控件于该类(作为数据源)的绑定

参数说明:

/// <summary>
        /// 绑定控件属性
        /// </summary>
        /// <param name="fieldName">字段名绑定在控件的tag值上,以便搜索该控件</param>
        /// <param name="fieldValue">字段值,绑定控件的指定属性值</param>
        /// <param name="bindingControl">控件</param>
        /// <param name="bindingProperty">控件属性值</param>
        /// <param name="defaultValue">指定控件默认值</param>

示例:看上面的代码,你懂的

II. public object GetProperty()

参数说明:

/// <summary>
        /// 获取当前控件绑定的属性值
        /// </summary>
        /// <returns>返回属性值</returns>

示例:看上面代码,你懂的

III.  public void SetProperty(object Value);

参数说明:

/// <summary>
        /// 设置绑定的控件的属性值
        /// </summary>
        /// <param name="Value">待设置的数据</param>

示例:看上面代码,你懂的

IV.  public void SetDefaultProperty()

参数说明:

/// <summary>
        /// 控件属性恢复初始值
        /// </summary>

示例:看上面代码,你懂的

V.主要属性展示

public bool AllowNull { get; set; }
        public Control BindingControl { get; set; }//控件
        public string BindingProperty { get; set; }//控件的属性名
        public object DefaultValue { get; set; }//控件的默认值
        public object FieldValue { get; set; }//绑定的属性值
        public string FieldName { get; set; }//绑定的字段名

6.关于

本人qq:739462304。找自己一起交流技术。我相信交流才能快速进步.另外如果觉得用起来不错,希望给个赞

构建winform控件数据缓存器的更多相关文章

  1. iOS开发UI篇—实现UItableview控件数据刷新

    iOS开发UI篇—实现UItableview控件数据刷新 一.项目文件结构和plist文件 二.实现效果 1.说明:这是一个英雄展示界面,点击选中行,可以修改改行英雄的名称(完成数据刷新的操作). 运 ...

  2. C# 扩展方法奇思妙用高级篇六:WinForm 控件选择器

    在Web开发中,jQuery提供了功能异常强大的$选择器来帮助我们获取页面上的对象.但在WinForm中,.Net似乎没有这样一个使用起来比较方便的选择器.好在我们有扩展方法,可以很方便的打造一个. ...

  3. .Net WinForm 控件键盘消息处理剖析

    在WinForm控件上我们可以看到很多关于键盘消息处理的方法,比如OnKeyDown, OnKeyPress, ProcessCmdKey, ProcessDialogKey,IsInputKey等等 ...

  4. Google guava cache源码解析1--构建缓存器(3)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 下面介绍在LocalCache(CacheBuilder, CacheLoader)中调用的一些方法: Ca ...

  5. Google guava cache源码解析1--构建缓存器(1)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.guava cache 当下最常用最简单的本地缓存 线程安全的本地缓存 类似于ConcurrentHas ...

  6. WinForm 控件键盘消息处理剖析(转)

    一直想整理键盘事件的调用顺序,刚好看见园子里的这篇文章,写的不错,就转载了:http://www.cnblogs.com/tedzhao/archive/2010/09/07/1820557.html ...

  7. 第二章 Google guava cache源码解析1--构建缓存器

    1.guava cache 当下最常用最简单的本地缓存 线程安全的本地缓存 类似于ConcurrentHashMap(或者说成就是一个ConcurrentHashMap,只是在其上多添加了一些功能) ...

  8. 浅谈Winform控件开发(一):使用GDI+美化基础窗口

    写在前面: 本系列随笔将作为我对于winform控件开发的心得总结,方便对一些读者在GDI+.winform等技术方面进行一个入门级的讲解,抛砖引玉. 别问为什么不用WPF,为什么不用QT.问就是懒, ...

  9. [LeetCode] LRU Cache 最近最少使用页面置换缓存器

    Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...

随机推荐

  1. pt-online-schema-change 修改主键导致数据删除失败的问题调查

    pt-online-schema-change在线DDL工具可以做到DDL操作不锁表,不影响线上操作.对于线上超过100W的大表,一般情况下都用这个工具做DDL,最重要的考虑点还是“不影响线上操作” ...

  2. python getopt使用

    函数getopt(args, shortopts, longopts = []) 参数args一般是sys.argv[1:] shortopts 短格式 (-) longopts 长格式(--) 命令 ...

  3. ASP.Net上传大文件解决方案之IIS7.0下的配置

    开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常.在网上看到一个解决办法但是没有效果 IIS 7 默认 ...

  4. PHP购物车类

    <?php /** * 购物车类 */ session_start(); class Cart{ private static $ins = null; private $items = arr ...

  5. OAF_文件系列9_实现OAF解析Excel并读取至数据库JXL

    ddd puroder. webui. poLineExcelImport.java

  6. 关于MySql 关键字与字段名冲突 的问题

    我在用mysql创建数据表时,其中一个表怎么创建都提示失败,最终我把语句翻来覆去折腾了许多遍之后发现原来我的一个字段值的名称为order的字段出了问题,把它去了就好了,最后结论就是设置字段值名称时不要 ...

  7. STM32串口

    状态寄存器USART_SR的复位值为0x00C0H:即 第七位发送寄存器空TXE=1和第六位发送完成TC=1寄存器为空, TC=1表明发送已完成.此时只要使能了发送空和发送完成中断就可进入中断ISR( ...

  8. HttpWebRequest-header设置

    http://www.cnblogs.com/yczz/archive/2012/06/01/2530484.html http://blog.csdn.net/htsnoopy/article/de ...

  9. iOS5.0以上使用新浪微博开放平台OAuth 续(及解决登录无效问题)

    新浪微博开放平台为第三方应用提供了简便的合作模式,满足了手机用户和平板电脑用户随时随地分享信息的需求.通过调用平台的api即可实现很多微博上的功能. 本篇主要目的是记录新浪微博移动SDK iOS版本的 ...

  10. Linux系统下如何查看已经登录用户

    查看用户的操作 系统管理员若想知道某一时刻用户的行为,只需要输入命令W 即可,在SHELL终端中输入如下命令: [ROOT@LOCALHOST ROOT] # W 2:31PM UP 11 DAY , ...