多个表单覆盖每个变量

时间:2012-09-10 12:03:54

标签: c++-cli multiple-forms

我在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。 如何使表格不能覆盖其他变量?

1 个答案:

答案 0 :(得分:1)

不要将它们声明为静态!........................