0

私は .net Framework 4 と Visual Studio 2010 を使用しています。C++ フォームで作業しています。私のコードは次のようなものです:

int k = 0;

void writeFunction(int &k){
    ++k;
    textbox1->text = Convert::toString(k);

    //i want to suspend writeFunction in there, until i click the button1 which is on Form1 
    //because i don't want to stop function, it has to wait to click

    //after i clicked the button1 , the program continue to run code here

   writeFunciton(k);
}
4

2 に答える 2

0

プログラムの詳細を追加できますか? フォームの生成に使用しているフレームワークと、ボタンの押下がコードとどのように相互作用するか?

たとえば、Qt を使用している場合は、シグナルとスロットを使用して、ボタンの押下をメソッドにリンクできます。フレームワークによっては、他の適切な答えがあるかもしれません。

通常、スレッド ライブラリを使用してコードを同期することをお勧めします。

于 2012-04-29T20:36:32.660 に答える
0

GUI機能を一時停止するのは賢明ではありません..代わりに、次のようなフォームクラスで操作状態変数を使用します

enum OperationState 
 {
  os_normal,
  os_pointselection,
  os_event1,...
 }

textbox->=... swicth を選択状態に呼び出した後、この状態を使用して、マウスクリック後のクリックなどのマウス状態を追跡し、os_selection 状態を確認してから、義務を続行します。

于 2012-04-29T20:36:58.767 に答える