-1

我在 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,以供以后在表单中使用,因为第二个表单的创建覆盖了第一个表单中的 formnum。我怎样才能使表格不能覆盖彼此的变量?

4

1 回答 1

1

不要声明它们是静态的!............

于 2012-09-10T12:06:39.457 回答