WEB开发网
开发学院WEB开发Jsp .Net中掌握Windows窗体间数据交互(3) 阅读

.Net中掌握Windows窗体间数据交互(3)

 2008-01-05 10:48:09 来源:WEB开发网   
核心提示:在第一篇和第二篇文章中我们使用带参数的构造函数、属性以及方法实现了数据的交互,接下来要讲的是使用静态类来完成窗体间的数据交互,.Net中掌握Windows窗体间数据交互(3),这个也是我们经常要用到的一种数据交互方法,三.使用静态类下面是定义的一个类:using System;using System.Collecti

  在第一篇和第二篇文章中我们使用带参数的构造函数、属性以及方法实现了数据的交互,接下来要讲的是使用静态类来完成窗体间的数据交互。这个也是我们经常要用到的一种数据交互方法。
  
  三.使用静态类
  
  下面是定义的一个类:
  
  using System;
  using System.Collections;
  namespace ZZ
  {
  public class AppDatas
  {
    PRivate static ArrayList listData;
    static AppDatas()
    {
    listData = new ArrayList();
    listData.Add("DotNet");
    listData.Add("C#");
    listData.Add("asp.net");
    listData.Add("WebService");
    listData.Add("xml");
    }
    public static ArrayList ListData
    {
    get{return listData;}
    }
    public static ArrayList GetListData()
    {
    return listData;
    }
  }
  }
  
  上面包含了一个静态类成员,listData,一个静态构造函数static AppDatas(),用来初始化listData的数据。还有一个静态属性ListData和一个静态GetListData()方法,他们实现了同样的功能就是返回listData。
  
  由于前面两篇文章已经讲了很多,这里不细说了,下面是完整的代码:
  
  Form1.cs文件
  
  using System;
  using System.Drawing;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  namespace ZZ
  {
  public class Form1 : System.Windows.Forms.Form
  {
    private System.Windows.Forms.Button buttonEdit;
    private System.Windows.Forms.ListBox listBoxFrm1;
    private System.ComponentModel.Container components = null;
    public Form1()
    {
    InitializeComponent();
    this.listBoxFrm1.DataSource = AppDatas.ListData;
    }
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    if(components != null)
    components.Dispose();
    base.Dispose( disposing );
    }
    [STAThread]
    static void Main()
    {
    application.Run(new Form1());
    }
    private void InitializeComponent()
    {
    this.buttonEdit = new System.Windows.Forms.Button();
    this.listBoxFrm1 = new System.Windows.Forms.ListBox();
    this.SuspendLayout();
    this.buttonEdit.Location = new System.Drawing.Point(128, 108);
    this.buttonEdit.Name = "buttonEdit";
    this.buttonEdit.TabIndex = 1;
    this.buttonEdit.Text = "修改";
    this.buttonEdit.Click += new System.EventHandler(this.buttonEdit_Click);
    this.listBoxFrm1.ItemHeight = 12;
    this.listBoxFrm1.Location = new System.Drawing.Point(12, 8);
    this.listBoxFrm1.Name = "listBoxFrm1";
    this.listBoxFrm1.Size = new System.Drawing.Size(108, 124);
    this.listBoxFrm1.TabIndex = 2;
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(208, 141);
    this.Controls.Add(this.listBoxFrm1);
    this.Controls.Add(this.buttonEdit);
    this.Name = "Form1";
    this.Text = "Form1";
    this.ResumeLayout(false);
    }
    private void buttonEdit_Click(object sender, System.EventArgs e)
    {
    Form2 formChild = new Form2();
    formChild.ShowDialog();
    this.listBoxFrm1.DataSource = null;
    this.listBoxFrm1.DataSource = AppDatas.ListData;
    }
  }
  }
  
  Form2.cs文件
  
  using System.Drawing;
  using System.Collections;
  using System.ComponentModel;
  using System.Windows.Forms;
  namespace ZZ
  {
  public class Form2 : System.Windows.Forms.Form
  {
    private System.Windows.Forms.Button buttonOK;
    private System.ComponentModel.Container components = null;
    private System.Windows.Forms.ListBox listBoxFrm2;
    private System.Windows.Forms.Button buttonAdd;
    private System.Windows.Forms.Button buttonDel;
    private System.Windows.Forms.TextBox textBoxAdd;
    public Form2()
    {
    InitializeComponent();
    foreach(object o in AppDatas.ListData)
    this.listBoxFrm2.Items.Add(o);
    }
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    if(components != null)
    components.Dispose();
    base.Dispose( disposing );
    }
    private void InitializeComponent()
    {
    this.buttonOK = new System.Windows.Forms.Button();
    this.listBoxFrm2 = new System.Windows.Forms.ListBox();
    this.buttonAdd = new System.Windows.Forms.Button();
    this.buttonDel = new System.Windows.Forms.Button();
    this.textBoxAdd = new System.Windows.Forms.TextBox();
    this.SuspendLayout();
    this.buttonOK.Location = new System.Drawing.Point(188, 108);
    this.buttonOK.Name = "buttonOK";
    this.buttonOK.TabIndex = 0;
    this.buttonOK.Text = "确定";
    this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
    this.listBoxFrm2.ItemHeight = 12;
    this.listBoxFrm2.Location = new System.Drawing.Point(8, 8);
    this.listBoxFrm2.Name = "listBoxFrm2";
    this.listBoxFrm2.Size = new System.Drawing.Size(168, 124);
    this.listBoxFrm2.TabIndex = 2;
    this.buttonAdd.Location = new System.Drawing.Point(188, 44);
    this.buttonAdd.Name = "buttonAdd";
    this.buttonAdd.TabIndex = 3;
    this.buttonAdd.Text = "增加";
    this.buttonAdd.Click += new System.EventHandler(this.buttonAdd_Click);
    this.buttonDel.Location = new System.Drawing.Point(188, 76);
    this.buttonDel.Name = "buttonDel";
    this.buttonDel.TabIndex = 4;
    this.buttonDel.Text = "删除";
    this.buttonDel.Click += new System.EventHandler(this.buttonDel_Click);
    this.textBoxAdd.Location = new System.Drawing.Point(188, 12);
    this.textBoxAdd.Name = "textBoxAdd";
    this.textBoxAdd.Size = new System.Drawing.Size(76, 21);
    this.textBoxAdd.TabIndex = 5;
    this.textBoxAdd.Text = "";
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(272, 141);
    this.Controls.Add(this.textBoxAdd);
    this.Controls.Add(this.buttonDel);
    this.Controls.Add(this.buttonAdd);
    this.Controls.Add(this.listBoxFrm2);
    this.Controls.Add(this.buttonOK);
    this.Name = "Form2";
    this.Text = "Form2";
    this.ResumeLayout(false);
    }
    private void buttonOK_Click(object sender, System.EventArgs e)
    {
    this.Close();
    }
    private void buttonAdd_Click(object sender, System.EventArgs e)
    {
    if(this.textBoxAdd.Text.Trim().Length>0)
    {
    AppDatas.ListData.Add(this.textBoxAdd.Text.Trim());
    this.listBoxFrm2.Items.Add(this.textBoxAdd.Text.Trim());
    }
    else
    MessageBox.Show("请输入添加的内容!");
    }
    private void buttonDel_Click(object sender, System.EventArgs e)
    {
    int index = this.listBoxFrm2.SelectedIndex;
    if(index!=-1)
    {
  AppDatas.ListData.RemoveAt(index);
    this.listBoxFrm2.Items.RemoveAt(index);
    }
    else
    MessageBox.Show("请选择删除项!");
    }
  }
  }
  
  总结,

Tags:Net 掌握 Windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接