1

私はこの問題に直面し、それを修正しようとしましたが、あなたの助けが必要です..これは私のコードです:

#pragma endregion
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    y=Convert::ToInt16(textBox1->Text);
    c=Convert::ToInt16(textBox3->Text);
    a=Convert::ToDouble(rand() % y);
    b=Convert::ToDouble(rand() % c);
    textBox2->Text = Convert::ToString(a);
    textBox4->Text = Convert::ToString(b);

    x1=0;
    x2=0;

    do
    {
        trafficlight(a,b,1,2);
    }while(i==0);//here is my problem i need condition to make the while loop working while the program is running  

ボタンをクリックすると、前のコードなしでwhileループにジャンプし、前のコードが機能し、プログラムの実行中にwhileループが機能するように条件付けする必要があります..

4

1 に答える 1

0

あなたが何を求めているのか 100% はわかりませんが、問題は UI スレッドで while ループにとどまっていることだと思います。

代わりに、ボタン ハンドラーにThreadTimerなどを開始させ、そこで作業を行います。

trafficlightメソッドが UI アクセスを行う場合は、必ずUI スレッドに戻って呼び出してください。

于 2012-12-18T20:55:05.497 に答える