【问题标题】:How to pass data from the selected row in data grid view to a label of another form如何将数据网格视图中选定行的数据传递到另一个表单的标签
【发布时间】:2013-01-19 07:34:42
【问题描述】:

我在 form1 中有一个 datagridview,在另一个表单上有标签框。我想做的是每当在form1中选择一行时,它的所有数据都将使用labelboxe显示在form 2上。意思是,所选行的每一列都会被分配到相应的标签框中。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    有几种方法可以做这样的事情。这里有两种传递数据的方式:

    在 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 上,您需要将标签修饰符属性设置为公开,因为它们默认设置为私有。您可以从设计模式的属性选项卡中执行此操作。

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多