Я столкнулся с проблемой организации с формой приложения Windows, с которой мне нужна помощь. Прямо сейчас код сделан в Microsoft Studio 2010 в .NET 4.0 на C ++. Заголовочный файл для приложения с графическим интерфейсом не организован, что потенциально может привести к 10 000 или более строк кода, что делает его очень трудным для чтения.
Я пытался разделить реализацию события click в файле .cpp, который содержал «Form1.h».
private:
System::Void sIToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e){
switch(this->USCustomaryFlg){
case true:
this->sIToolStripMenuItem->Checked = true;
this->mnuUSMetric->Checked = false;
this->USCustomaryFlg = false;
cout << "SI flag is now true." << endl;
break;
case false:
break;
}
}
в эту форму в .cpp файле Form1:
System::Void mnuUSMetric_Click(System::Object^ sender, System::EventArgs^ e){
switch(this->USCustomaryFlg){
case true:
cout << "USCustomaryFlg is now false." << endl;
break;
case false:
this->mnuUSMetric->Checked = true;
this->USCustomaryFlg = true;
this->sIToolStripMenuItem->Checked = false;
cout << "USCustomaryFlg is now true." << endl;
break;
}
}
Ошибка, которую я получаю, является лишь примером того, что я получаю:
Ошибка 2, ошибка C2355: 'this'
: на нее можно ссылаться только внутри нестатических функций-членов E: \ Summer 2011 \ Engineer Software \ GUItest \ GUItest \ Form1.cpp 16
Ошибка 4, ошибка C2355: 'this'
: на нее можно ссылаться только внутри нестатических функций-членов E: \ Summer 2011 \ Engineer Software \ GUItest \ GUItest \ Form1.cpp 21
Ошибка 3, ошибка C2227: слева от '->USCustomaryFlg'
должен указываться класс / структура / объединение / универсальный тип E: \ Summer 2011 \ Engineer Software \ GUItest \ GUItest \ Form1.cpp 16
Ошибка 8: ошибка C2227: слева от '->USCustomaryFlg'
должен указываться класс / структура / объединение / универсальный тип E: \ Summer 2011 \ Engineer Software \ GUItest \ GUItest \ Form1.cpp 22 * 1022 *
Есть мысли по этому поводу?