在单击c ++表单中的按钮之前,如何保持运行功能?

时间:2012-04-29 20:27:56

标签: c++ forms recursion event-handling

我正在使用.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);
}

2 个答案:

答案 0 :(得分:0)

您可以添加有关您的计划的更多详细信息吗?您使用什么框架来生成表单,按钮按下如何与您的代码交互?

例如,如果您使用的是Qt,那么您可以使用信号和插槽来链接按下按钮的方法。根据框架,可能还有其他适当的答案。

通常我建议使用线程库来同步你的代码。

答案 1 :(得分:0)

挂起GUI函数是不明智的...而不是在表单类中使用操作状态变量,例如

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

调用textbox-> =后... swicth到选择状态,并通过使用此状态跟踪鼠标状态,如鼠标点击后点击检查os_selection状态,然后继续你的职责..