zoukankan      html  css  js  c++  java
  • 使用C# .NET 将结构数组绑定到 Windows 窗体的方法

     

    概要

    本文介绍如何向 Windows 窗体绑定结构数组。 该示例由一个 Windows 窗体构成;该窗体包含三个文本框和四个命令按钮,文本框用于显示结构成员,按钮用于浏览数组。
    返回页首

    要求

    下面列出推荐使用的硬件、软件、网络结构、技能、知识和所需的 Service Pack。
    • Microsoft Visual C# .NET
    • 对 C# 编程概念的理解达到中等水平
    返回页首

    设计结构

    将要绑定到窗体的结构必须有成员访问器。 结构成员访问器实际等同于类中的 PROPERTY SETPROPERTY GET 结构。 本文示例使用的结构有三个成员(此处仅展示一个)。还提供了一个带参数的构造函数,但它不是必需的。
    public struct Guitar
    {
        private string make;
        private string model;
        private short year;
    			
        public Guitar(string Make, string Model, short Year)
        {
    	make = Make;
    	model = Model;
    	year = Year;
        }
    
        public string Make 
        {
    get 
    	{ 
    	    return make; 
    	}
    	set 
    	{
    	    make = value; 
    	}
        }
    }
    返回页首

    向数组添加结构实例

    若要创建实例并将它们添加到数组中,请按下列步骤操作:
    1. 声明该结构类型的变量。
    2. 声明该结构类型的数组。
    3. 创建该结构的实例并将它们添加到数组中。
    private Guitar[] arr =new Guitar[3];
    
    arr[0] = new Guitar("Gibson", "Les Paul", 1958);
    arr[1] = new guitar("Fender", "Jazz Bass", 1964);
    arr[2] = new guitar("Guild", "Bluesbird", 1971);
    返回页首

    将结构成员绑定到窗体控件

    填充 ArrayList 后,可以将对象的单个属性绑定到 Windows 窗体控件。为此,请按照下列步骤操作:
    1. 调用 Textbox DataBindings 属性的 Add 方法。
    2. 传递将要绑定的控件属性、数组名称和结构成员。
    textBox1.DataBindings.Add("Text", arr, "Make");
    textBox2.DataBindings.Add("Text", arr, "Model");
    textBox3.DataBindings.Add("Text", arr, "Year");
    返回页首

    提供浏览数组的方式

    可以使用 CurrencyManager 浏览数组。 为此,请将 CurrencyManager 与窗体的 BindingContext(在此例中即结构数组)关联。
    private CurrencyManager currencyManager = null;
    
    currencyManager = (CurrencyManager)this.BindingContext[arr];
    CurrencyManager 类有一个 Position 属性,可以通过操纵该属性来迭代数组的所有成员。 通过增加或减小 Position 的当前值,可以在窗体上显示数组的不同成员。
    //Move forward one element.
    currencyManager.Position++;
    //Move back one element.
    currencyManager.Position--;
    //Move to the beginning.
    currencyManager.Position = 0;
    //Move to the end.
    currencyManager.Position = arr.Length - 1;
    返回页首

    分步示例

    1. 在 Visual C# .NET 中,新建一个 Windows 应用程序项目。默认情况下将创建 Form1。
    2. 将三个文本框添加到 Form1 并横向排列这些控件。
    3. 将四个按钮添加到 Form1 并横向排列这些控件。
    4. 将 Button1 的 Text 属性更改为 Next
    5. 将 Button2 的 Text 属性更改为 Previous
    6. 将 Button3 的 Text 属性更改为 First
    7. 将 Button4 的 Text 属性更改为 Last
    8. 将下面的代码添加到 Form1 类:
      public struct Guitar
      {
          private string make;
          private string model;
          private short year;
      			
          public Guitar(string Make, string Model, short Year)
          {
      	make=Make;
      	model=Model;
      	year=Year;
          }
      
          public string Make 
          {
      get 
      	{ 
      	    return make; 
      	}
      	set 
      	{
      	    make = value; 
      	}
          }
          public string Model 
          {
      	get 
      	{ 
      	    return model; 
      	}
      	set 
      	{
      	    model = value; 
      	}
          }
      
          public short Year 
          {
      	get 
      	{ 
      	    return year; 
      	}
      	set 
      	{
      	    year = value; 
      	}
          }
      }
      
      private Guitar[] arr = new Guitar[3];
      private CurrencyManager currencyManager = null;		
    9. 将下面的代码添加到窗体的构造函数中,使之位于 InitializeComponent 调用之后(代码设计者已在此处插入了“TODO:Add any constructor code after InitializeComponent call”这一注释):
      arr[0] = new Guitar("Gibson", "Les Paul", 1958);
      arr[1] = new guitar("Fender", "Jazz Bass", 1964);
      arr[2] = new guitar("Guild", "Bluesbird", 1971);
      
      currencyManager = (CurrencyManager)this.BindingContext[arr]; 
      textBox1.DataBindings.Add("Text", arr, "Make");
      textBox2.DataBindings.Add("Text", arr, "Model");
      textBox3.DataBindings.Add("Text", arr, "Year"); 
    10. 切换以查看“窗体设置器”。
    11. 双击 Next 并将下面的代码添加到 button1_Click 事件:
      currencyManager.Position++;
    12. 双击 Previous 并将下面的代码添加到 button2_Click 事件:
      currencyManager.Position--;
    13. 双击 First 并将下面的代码添加到 button3_Click 事件:
      currencyManager.Position = 0;
    14. 双击 Last 并将下面的代码添加到 button4_Click 事件:
      currencyManager.Position = arr.Length - 1;
    15. 生成并运行该项目。
    16. 单击这些命令按钮以显示不同的数组元素。注意,如果愿意,您可以编辑这些对象的值。
    转载请注明文章来自:程序猴(http://www.chengxuhou.com/)
  • 相关阅读:
    通用客户端脚本
    刷一次变一次图的ASP代码
    ASP公共翻页代码
    Web中模态对话框加载后根据加载内容动态改变其大小并使其居中
    创建一个ASP通用分页类
    各大门户网站FLASH广告完全揭密
    插入记录后,获取记录的ID
    ASP实用函数库
    Sametime 8.5.1系统环境要求
    推荐:IBM Lotus Domino 8.5 服务器管理入门手册(适用初学者)
  • 原文地址:https://www.cnblogs.com/minotmin/p/3320684.html
Copyright © 2011-2022 走看看