wanglinjian001 2023-02-08 17:47 采纳率: 100%
浏览 34
已结题

窗口2获的值,如何传递到窗口1里,并将值的内容显示在textBox里。

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

img


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

img


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代码如下:
鼠标双击时获得值赋给 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();
        }

请老顾指导一下,望能有详细代码。非常感谢!

  • 写回答

3条回答 默认 最新

  • 码老头 2023-02-08 20:33
    关注

    记得你上个问题我是回答过的,通过C#的委托可以实现,但很遗憾,这么高级的跨窗体实现并未被你看上(苦笑)。

    今天特意再用你这个问题写了一个专门使用委托实现的示例,先看运行效果:

    img

    完整的示例源码我放在了这里,供参考:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月17日
  • 已采纳回答 2月9日
  • 创建了问题 2月8日