使用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;
}
答案 0 :(得分:0)
它不应该是一个静态函数。将其定义为非静态,并通过表单实例调用它。
SomeProc()
{
Form1 f1 = ...
...
f1.SetProgressBar(n);
}
在此(极短)摘要中,f1
是Form1
类的实例。