0

と を含む Windows フォーム ( Form1.h) がButtonありTextBoxます。TextBoxフォームが初期化されるとき、 は空です。ボタンをクリックすると、フォーム外のメソッドが呼び出され、TextBox. TextBox非フォーム クラスから を更新するにはどうすればよいですか? 以下は私のサンプルコードです:

// Form1.h
private: System::Void findResultButton_Click(System::Object^  sender, System::EventArgs^  e) {
    FirstResults* firstResults = new FirstResults();
    firstResults->findResult();
}

// FirstResults.cpp
void FirstResults::findResult() { 
    // do some calculations here and find result.
    // write the result value to a .txt file.
    // Update TextBox in Form1.h with result value.
}
4

1 に答える 1

2

まず、フォームの静的インスタンスを作成する必要があります。次に、TextBox1またはTextAreaにアクセスする.cppファイルで

public ref class Form1 : public System::Windows::Forms::Form
{
public:
    static Form1^ myForm1;

    Form1(void)
    {
        InitializeComponent();
        myForm1 = this;
        //
        //TODO: Add the constructor code here
        //
    }
}

次に、.cpp#include "form1.h"

Form1^ myform1 = gcnew Form1();
Form1::myForm1->textBox1->Text = L" FROM the main.cpp ";

または必要な場合

System::Windows::Forms::myform1->textBox1->Text = L" FROM the main.cpp ";
于 2012-10-14T19:22:12.150 に答える