我在C ++ / CLI中制作多个Windows窗体以同时运行测试,我可以这样做,但我将我的类中定义的变量设置为私有,但是当第二个窗体写入其变量版本时,它会覆盖所有的变量其他形式的变量版本。
array<String^>^args = Environment::GetCommandLineArgs();
int args1 = System::Convert::ToInt16(args[1]);
int i;
#pragma omp parallel for
for(i = 0; i < args1; i++)
{
Sleep(1000);
Form1^ form1 = gcnew Form1(i);
form1->Show();
}
private ref class Form1 : public System::Windows::Forms::Form
{
private:
static int formnumber;
static SerialPort^ serialPort = gcnew SerialPort();
public:
Form1(int formnum)
{
array<String^>^args = Environment::GetCommandLineArgs();
formnumber = formnum;
int a = 65;
jigid = a + formnum;
comnumber = formnumber + Convert::ToInt16(args[2]);
InitializeComponent();
}
}
当我创建2个表单时,formnum将始终为1以供以后在表单中使用,因为第2个表单的创建覆盖了第1个表单中的formnum。 如何使表格不能覆盖其他变量?
答案 0 :(得分:1)
不要将它们声明为静态!........................