如何将数据网格视图中选定行的数据传递给另一种形式的标签

本文关键字:数据 标签 另一种 数据网 网格 视图 | 更新日期: 2023-09-27 17:54:52

我有一个datagridview在form1和标签框在另一个形式。我想做的是,每当在表单1中选择一行时,它的所有数据都将显示在使用labelbox的表单2上。也就是说,所选行的每一列都将被分配到相应的标签框中。

如何将数据网格视图中选定行的数据传递给另一种形式的标签

有几种方法可以做到这一点。这里有两种传递数据的方法:

在Form2中,你需要创建第二个构造函数,它将接受两个对象:
public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public string yourName { get; set; }
        public int Age { get; set; }
        public Form2(string name, int age)
        {
            InitializeComponent();
            yourName = name;
            Age = age;
        }
        private void Form2_Load(object sender, EventArgs e)
        {
            label1.Text = yourName;
            label2.Text = Age.ToString();
        }
    }

在Form1中,您创建Form2的实例,并传递对象:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 F2 = new Form2("Jon Smith", 33);
            this.Hide();
            F2.ShowDialog();
        }
    }

或者你可以这样做:

在表单2中,您需要将标签修饰符属性设置为public,因为它们将默认设置为private。你可以在设计模式的属性选项卡中设置。

一旦完成,在form1中,你可以创建一个Form2的实例,并将值传递给公共标签:

Form2 f2 = new Form2();
f2.label1.text = datagridview1.currentRow.cells[0].value.tostring();
f2.ShowDialog();