粘在Windows窗体C ++上的循环依赖上

问题描述 投票:0回答:1

我相信问题是我的代码卡在循环依赖项上。我正在尝试将价值从一种形式传递到另一种形式。在form1中,我声明了Form2并将其打开,因此我无法从Form2中声明Form1,而且我现在不知道该怎么办。

代码:

private: System::Void paieškaToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
    PaieskaGUI^ paieska = gcnew PaieskaGUI(); //declaring the other form
    paieska->Show(); //opening it when the button is pressed
}

所以上面是form1,当我按下按钮并打开form2时。在下面的代码中,当我按下按钮时显示的是form2,它声明了form1并将值发送给它。

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) 
{
    String^ mas = textBox1->Text;
    Pagrindinis^ pgrr = gcnew Pagrindinis();
    pgrr->SomeText = mas;
    this->Hide();
}

我是编程新手。

我相信问题是我的代码卡在循环依赖项上。我正在尝试将价值从一种形式传递到另一种形式。在form1中,我声明Form2并将其打开,因此无法声明Form1 ...

c++-cli circular-dependency
1个回答
0
投票

如果我正确理解,您正在寻求将值传递回原始表单,而不是创建一个新的实例。如果是这种情况,可以考虑在显示它之前在form2上设置Parent,以便可以从Parent属性中获取第一个表单,然后在将其转换为适当的类型后在其上设置相关值。

© www.soinside.com 2019 - 2024. All rights reserved.