zoukankan      html  css  js  c++  java
  • WinForm窗体之间传值。

    最近看了一个关于ListView的例子,在ListView选中项时,自动弹出一个新窗体显示选中项的数据,窗体和窗体之间怎么传值。有以下两种方法,

    1》是声明一个Public类,当选中项时,将值放到类中去,再实例一个窗体时,将类传到新窗体。再从类中取出值,赋给TextBox显示,在新窗体要修改的值的时候,就不能了。

    代码
    ListViewItem lt= this.listView1.SelectedItems[0];
    s
    = new PerSon();
    s.Id
    = lt.Text;
    s.Name
    = lt.SubItems[1].Text;
    s.Address
    = lt.SubItems[2].Text;
    Form3 fr3
    = new Form3(s);
    fr3.Show();
    代码
    public partial class Form3 : Form
    {
    PerSon s;
    public Form3(PerSon s)
    {
    this.s = s;
    InitializeComponent();
    }

    private void Form3_Load(object sender, EventArgs e)
    {
    this.textBox1.Text = s.Id;
    this.textBox2.Text = s.Name;
    this.textBox3.Text = s.Address;
    }
    }

    2》直接将this.ListView1,传到新窗体,直接操作ListView1。

    代码
    ListViewItem lt= this.listView1.SelectedItems[0];
    //s = new PerSon();
    //s.Id = lt.Text;
    //s.Name = lt.SubItems[1].Text;
    //s.Address = lt.SubItems[2].Text;
    Form3 fr3 = new Form3(this.listView1);
    fr3.Show();
    代码
    //PerSon s;
    ListView ls;
    //ListViewItem lst;
    public Form3(ListView ls)
    {
    this.ls = ls;
    InitializeComponent();
    }

    private void Form3_Load(object sender, EventArgs e)
    {
    ListViewItem lst
    = this.ls.SelectedItems[0];
    this.textBox1.Text = lst.Text;
    this.textBox2.Text = lst.SubItems[1].Text;
    this.textBox3.Text = lst.SubItems[2].Text ;
    }

    private void button1_Click(object sender, EventArgs e)
    {
    ListViewItem lst
    = this.ls.SelectedItems[0];
    lst.Text
    = this.textBox1.Text;
    lst.SubItems[
    1].Text = this.textBox2.Text;
    lst.SubItems[
    2].Text = this.textBox3.Text;
    }

  • 相关阅读:
    算法: 整数中1出现的次数(从1到n整数中1出现的次数)
    健身:肩部训练
    算法: 字符串的排列
    不能浮躁,还是需要沉淀;
    算法:从上往下打印二叉树
    健身:手臂训练
    抛出错误
    记录错误
    调用栈
    try/except/finally
  • 原文地址:https://www.cnblogs.com/netlove/p/1780468.html
Copyright © 2011-2022 走看看