首页 / 问答 / C#/.NET Core的Winforms桌面程序中窗口2获的值,如何传递到窗口1里,并将值的内容显示在textBox里?

C#/.NET Core的Winforms桌面程序中窗口2获的值,如何传递到窗口1里,并将值的内容显示在textBox里?

0

从Form2窗口的DataGridView中, 获的值,如何传递到主窗口Form1里,并在textBox1里显示出内容。
以下是Form1窗口:

打开窗口如下图:就是Form2窗口。

Form1主窗口代码如下:

 public Form1()
 {
     InitializeComponent();
 }
 private void Form1_Load(object sender, EventArgs e)
 {
     //没有获得值           
     //  Form2 f2 = new Form2();
     // this.textBox2.Text = f2.str;    
 }

以下代码: 测试按钮事件,也没有获得值

private void button3_Click(object sender, EventArgs e)
{
    Form2 f2 = (Form2)this.Owner;
    this.textBox2.Text = f2.str; ;
}

Form2代码如下:
鼠标双击DataGridView的行时获得值赋给str变量,测试了,str是有获得文本值。但不知如何将str获得值,传递到Form1 窗口里,显示在textBox里。

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    str = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();
    this.textBox3.Text =str;
    Close();
}
回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    写了一个基于C#/.NET Core(.NET 7)的Winforms桌面程序的示例。

    先看运行效果:

    本示例是使用C#的委托来实现跨窗体间的传值,示例代码如下:

    Form1.cs

    Form2.cs

    Product.cs

    Rector的个人主页

    Rector

    2023-02-08 回答

    我来回答