使用Visual C ++ 2010 ..如何从Form1类外部更改进度条的值

时间:2015-09-15 01:31:41

标签: c++ visual-studio-2010 class progress

使用Visual C ++ 2010 ..我正在尝试使用进度条,并从Form1类外部更改值,并在另一个问题中更改:

https://ccplz.net/threads/windows-form-problem.38558/

Nazgul1444说:

You should not make the progressbar public. Use a Set function.

SetProgressBar(int i);

但是......我该怎么做呢?

尝试了这个:

public: static void SetProgressBar(int i) {
    this->progressBar1->Value = i;
}

然后它说不能在静态函数中使用“this”

另外,这是从外面打电话的正确方法吗?:

Form1::SetProgressBar(x);

无论如何要做这样的事情只有一个表格实例?:

Form1 FMain;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false); 

// Create the main window and run it
FMain = gcnew Form1();
Application::Run(FMain);
return 0;
}

1 个答案:

答案 0 :(得分:0)

它不应该是一个静态函数。将其定义为非静态,并通过表单实例调用它。

SomeProc()
{
    Form1 f1 = ...

    ...

    f1.SetProgressBar(n);
}

在此(极短)摘要中,f1Form1类的实例。