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

  • 相关阅读:
    jstl 部分标签
    Maven pom.xml 元素配置说明(一)
    spring 参数绑定
    mysql 索引
    ArrayList和HashSet的Contains()方法(转)
    每日记载内容总结44
    剑指offer42:不用加减乘除做加法
    动态规划常见题型
    华为机试-统计每个月兔子的总数
    华为机试-字符串合并处理
  • 原文地址:https://www.cnblogs.com/netlove/p/1780468.html
Copyright © 2011-2022 走看看