سلام دوستان. من می خوام یک پروژه دارای فرم های لاگین و اصلی با زبان C++‎ تو ویژوال استودیو 2019 درست کنم اما مثل نسخه های قدیمی گزینه Windows form تو پنجره ایجاد پروژه جدید نداره.
قالب هایی که برای برنامه نویسی C++‎ پیشنهاد میده حتی تو توضیحش نوشته برای ویندوز فرم (Windows Desktop Application) ولی وقتی ایجاد می کنی تو قسمت Add -> New Item گزینه UI رو نداره که بتونی فرم اضافه کنی.
با کلی تحقیق فهمیدم باید C++‎/CLR رو به نصب Visual studio اضافه کنم. این کار رو کردم و حالا دو تا گزینه اضافه شده CLR Empty Project و CLR Console App که این دو تا، قابلیت اضافه کردن UI یا فرم رو میدن. ولی فرم رو که اضافه می کنم Designer خطای The data necessary to complete this operation is not yet available. (Exception from HRESULT: 0x8000000A) رو میده میرم تو اولین فرمی که اضافه می کنم یکسری کدی که معمولا خود VS تو قالب های دیگه به صورت خودکار به فرم اضافه می کنه رو کپی می کنم میگذارم مشکل Designer رفع میشه.

کلا نمیدونم راه رو درست میرم یا نه؟! اکثر آموزش های تو اینترنت هم با حالت کنسول C++‎ کار می کنن که به درد من نمیخوره چون نمیتونم فرم اضافه کنم و هر کدی می نویسم موقع اجرا اول ترمینال اجرا میشه.
معنی کدهای زیر رو هم نمی فهمم و اینکه کدهای برنامم رو کجای این کدها باید بنویسم، هر جاش می نویسم یه خطایی میده.
#pragma once

namespace Project8 {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

/// <summary>
/// Summary for MyForm
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}

protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}
}

private:
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
this->components = gcnew System::ComponentModel::Container();
this->Size = System::Drawing::Size(300,300);
this->Text = L"MyForm";
this->Padding = System::Windows::Forms::Padding(0);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
}
#pragma endregion
};
}


ممنون میشم راهنماییم کنید تا از سردرگمی دربیام.