• 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;
    }

  • 相关阅读:
    VUE学习一,安装及Hello World
    609. 在系统中查找重复文件
    451. 根据字符出现频率排序
    面试题 10.02. 变位词组
    142. 环形链表 II
    面试题 16.24. 数对和
    151. 翻转字符串里的单词
    1207. 独一无二的出现次数
    80. 删除排序数组中的重复项 II
    1365. 有多少小于当前数字的数字
  • 原文地址:https://www.cnblogs.com/netlove/p/1780468.html
Copyright © 2020-2023  润新知