Проверьте предупреждения, которые вы получаете по этому коду:
предупреждение C4717: 'cpptemp5 :: Form1 :: WndProc': рекурсивно для всех путей управления, функция вызовет переполнение стека во время выполнения
Вот почему ваш код падает с этим именем сайта.Это могло быть немного больше, чем предупреждение.Исправление:
Form::WndProc(m);
Или используйте ключевое слово __super.Прежде чем изменить возвращаемое значение, его следует вызвать.
предупреждение C4490: «переопределить»: неправильное использование спецификатора переопределения;'cpptemp5 :: Form1 :: get' не соответствует методу базового класса ссылки
, который препятствует работе вашей попытки переопределения, форма все еще имеет границы.Лучшей мышеловкой является назначение свойства FormBorderStyle в конструкторе:
Form1(void)
{
InitializeComponent();
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::None;
}
Хотя обычно вы делаете это с конструктором, используя окно свойств.Для полноты, переопределение не работает, потому что вы сделали его функцией, а не свойством.Правильный синтаксис:
protected:
property System::Windows::Forms::CreateParams^ CreateParams {
virtual System::Windows::Forms::CreateParams^ get() override {
System::Windows::Forms::CreateParams^ cp = __super::CreateParams;
cp->Style |= 0x40000;
return cp;
}
}
Но не достаточно хорош, чтобы сделать форму без полей.