主要使用C语言VS下载工作负荷选哪个

img


如题,net桌面开发和使用C加加桌面开发,应该选哪个呀?不是很懂😿

C++

  • 以下回答由chatgpt基于相关博客总结生成:

    针对您的问题,如果要进行.net桌面开发,建议使用Visual Studio (VS)进行开发。使用VS可以轻松创建C#或Visual Basic的.NET桌面应用程序,并且使用C++或C#开发的.NET桌面应用程序可以在Windows上运行,并且能够与.NET框架库进行交互,能够增强开发效率。

    而如果要使用C或C++进行桌面开发,可以使用任何一种编译器。但是,在Windows上使用微软Visual Studio可获得更好的集成和支持。如果您想要从头开始构建图形用户界面(GUI),请使用Microsoft Foundation Classes(MFC)或Windows API进行开发。

    总之,根据需要选择工具和语言进行开发,建议使用VS进行桌面应用程序开发。

    以下是C++使用VS开发Windows桌面应用程序的基本流程:

    1. 安装Visual Studio

    2. 创建项目:在VS中创建一个新的Win32窗口应用程序。在创建项目时,请确保将项目类型选择为Windows桌面应用程序。

    3. 添加源文件:在新建的项目中添加C++源文件。

    4. 设计UI界面:使用MFC库或Windows API来创建窗口和控件,设计UI界面。

    5. 编写逻辑代码:将需要的功能和逻辑代码添加到源文件中。

    6. 构建和调试:使用VS进行编译、构建和调试。

    以下是一个使用MFC库创建GUI并显示文本框的示例代码:

    #include "stdafx.h"
    #include "testmfc.h"
    #include <afx.h>
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    
    // CTestmfcApp
    
    BEGIN_MESSAGE_MAP(CTestmfcApp, CWinApp)
        ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
    END_MESSAGE_MAP()
    
    CTestmfcApp::CTestmfcApp()
    {
    }
    
    CTestmfcApp theApp;
    
    BOOL CTestmfcApp::InitInstance()
    {
        CWinApp::InitInstance();
        CTestmfcDlg dlg;
        m_pMainWnd = &dlg;
        INT_PTR nResponse = dlg.DoModal();
        if (nResponse == IDOK)
        {
        }
        else if (nResponse == IDCANCEL)
        {
        }
    
        return FALSE;
    }
    
    // CTestmfcDlg dialog
    
    CTestmfcDlg::CTestmfcDlg(CWnd* pParent /*=NULL*/)
        : CDialogEx(IDD_TESTMFC_DIALOG, pParent)
    {
        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }
    
    void CTestmfcDlg::DoDataExchange(CDataExchange* pDX)
    {
        CDialogEx::DoDataExchange(pDX);
        DDX_Control(pDX, IDC_EDIT1, m_Edit);
    }
    
    BEGIN_MESSAGE_MAP(CTestmfcDlg, CDialogEx)
        ON_WM_PAINT()
        ON_WM_QUERYDRAGICON()
        ON_BN_CLICKED(IDC_BUTTON1, &CTestmfcDlg::OnBnClickedButton1)
    END_MESSAGE_MAP()
    
    
    BOOL CTestmfcDlg::OnInitDialog()
    {
        CDialogEx::OnInitDialog();    
        SetIcon(m_hIcon, TRUE);           
        SetIcon(m_hIcon, FALSE);         
    
        return TRUE;
    }
    
    void CTestmfcDlg::OnPaint()
    {    
        if (IsIconic())
        {
            CPaintDC dc(this); 
            SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
            int cxIcon = GetSystemMetrics(SM_CXICON);
            int cyIcon = GetSystemMetrics(SM_CYICON);
            CRect rect;
            GetClientRect(&rect);
            int x = (rect.Width() - cxIcon + 1) / 2;
            int y = (rect.Height() - cyIcon + 1) / 2;
            dc.DrawIcon(x, y, m_hIcon);
        }
        else
        {
            CDialogEx::OnPaint();
        }
    }
    
    HCURSOR CTestmfcDlg::OnQueryDragIcon()
    {
        return static_cast<HCURSOR>(m_hIcon);
    }
    
    
    void CTestmfcDlg::OnBnClickedButton1()
    {
        CString strValue;
        m_Edit.GetWindowText(strValue);
        MessageBox(strValue);
    }
    

    其中,CTestmfcApp类负责初始化应用程序,CTestmfcDlg类负责处理对话框消息。OnInitDialog()函数是对话框初始化函数,在该函数中可以对对话框中的控件进行初始化操作。OnBnClickedButton1()函数是“按钮单击”事件的处理函数,在该函数中获取文本框中的内容并显示消息框。

    运行该应用程序后,单击“按钮”,将显示文本框中的内容。