精华内容
下载资源
问答
  • 2018-09-06 21:40:17

    工具:Visual Studio 2017 Community
      在大学期间,不过学习 C/C++ 还是 Java,每次写的程序都是控制台黑框框,有时候想设计一个可视化的应用程序却不知从何下手,大学里面的课程也没有 Windows 程序设计相关,有点苦恼。本文就这个问题分享一下创建 Windows 桌面应用程序的两种途径。
      创建 Windows 桌面程序有多种技术,但是哪种比较适合自己呢?在我的大学课程中,没有关于 Windows 程序设计的课程。但由于机缘巧合,接触到了 MFC,对 Windows 桌面编程有了了解。我还使用过 Java 创建 Windows 应用程序,当时使用的 IDE 是 Eclipse,在Eclipse 中装相应的 Windows 插件,也可以创建 Windows 可视化桌面应用程序。但是今天,主要分享一下微软官方推荐的创建 Windows 桌面程序的技术。
      本文指的 Windows 桌面程序是指传统的桌面程序,比如 Word,Excel,PowerPoint,Photoshop等。近几年,微软一直在推他的新技术——通用桌面程序。这种程序编写好之后可以运行在 Windows 电脑、平板、手机上。不过 Windows Phone 已经凉了,微软爸爸已经抛弃了它。


    1、 选择 C++ 和 Win 32 API 来开发 Windows 桌面应用程序,使用语言是 C/C++;

      C ++在各种平台(Windows和非Windows)上提供一流的开发体验,而不依赖于.NET等高级运行时环境。这使得C ++成为便携式应用程序的首选语言,当这些运行时不可用或对某些目标平台来说太重量级时。
      使用C ++和Win32 API可以通过更严格地控制目标平台来实现最高级别的性能和效率,而不是.NET运行时允许的。但是,对应用程序的执行进行如此高级别的控制需要更加谨慎和关注才能正确运行,并为运行时性能交换开发效率。
      以下是C ++提供的一些亮点,可帮助您构建高性能应用程序。
     硬件级优化,包括严格控制资源分配,对象生存期,数据布局,对齐,字节打包等。
     通过内部函数访问面向性能的指令集,如SSE和AVX。
     使用模板进行高效,类型安全的通用编程。
     高效安全的容器和算法。
     DirectX特别是Direct3D和DirectCompute。
     C ++ AMP

    2、 选择 .Net 来开发 Windows 桌面应用程序,使用语言有 C#,C++,F#,VB。

      .NET在桌面,Windows Phone和Windows应用商店中提供一致的一流开发体验。它提供更高级别的编码和生产力。.NET允许您在桌面上继续开发基础应用程序并添加令人兴奋的新体验,同时使用您现有的技能并在设备之间重用代码。如果您希望在任何设备上创建更加量身定制,适合平台的体验,Visual Studio行业合作伙伴(VSIP)提供的解决方案可以在非Windows设备上重用C#技能和代码。
      除了您期望的功能(如文件/流和网络通信)之外,以下是.NET提供的一些重点,可以使构建应用程序非常高效:
     运行时生产力和安全性,如自动内存管理,类型安全,异常处理和线程管理
     GUI技术见下文
     丰富的集合数据类型
     数据建模(ADO,LINQ,WCF数据服务)
     语言集成查询(LINQ)
     日期和时间库
     序列化
     网页服务
     安全和加密
     并行编程库

    结论

    您可能对C ++或C#/ Visual Basic具有强烈的亲和力,这可能决定您选择编写桌面应用程序的方式。使用.NET / C#(或Visual Basic)进行高级编码,提高工作效率,丰富框架和服务,支持现代客户体验,跨平台维护资产(Windows应用商店应用,Windows Phone应用,Windows桌面应用等) )。当您需要实现最高级别的性能,明确地管理资源或内存布局,访问硬件级优化机会,当您希望应用程序可移植到没有平台时,可以将本机C ++用于游戏和其他图形密集型应用程序.NET运行时,或者更容易利用存在的免费可用的高质量C和C ++库。
    以上引用资料来源:https://docs.microsoft.com/zh-cn/windows/desktop/choose-your-technology


    接下来用 Visual Studio 2017 Community 进行实战。
    1、演练:创建传统的Windows桌面应用程序(C ++)
    https://docs.microsoft.com/zh-cn/cpp/windows/walkthrough-creating-windows-desktop-applications-cpp?view=vs-2017
    完成效果图:
    这里写图片描述
    2、使用 C# 创建图片查看器
    https://docs.microsoft.com/zh-cn/visualstudio/ide/tutorial-1-create-a-picture-viewer?view=vs-2017
    完成效果图:
    这里写图片描述

    公众号:蓝冰软件实验室

    更多相关内容
  • 设计一个windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList,该类包含一个Student集合,使用索引器访问该集合。 (1)创建一个Windows应用程序Myproject6_1。 (2)设计界面,...

    设计一个windows应用程序,定义一个Student类,包含学号和姓名两个字段,并定义一个班级类ClassList,该类包含一个Student集合,使用索引器访问该集合。
    (1)创建一个Windows应用程序Myproject6_1。
    (2)设计界面,添加控件(输入框的那么属性分别为:txtsno、txtsname、txtIndex、txtdisplay,按钮的name属性分别为:btnAdd、btnLofoSno、btnLofoSna、btnLofoInd),如图所示。
    在这里插入图片描述(3)代码:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace MyProject6_1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    }

        ClassList clist = new ClassList(10);  //创建一个容量为10的班级实例
        int n = 0;
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (txtsno.Text.Trim() == "" || txtsname.Text.Trim() == "")
            {
                MessageBox.Show("请输入学生的学号或姓名!");
            }
            else
            {
                Student stu1 = new Student(txtsno.Text, txtsname.Text);
                clist[n] = stu1;
                n++;
      txtdisplay.Text += string.Format("学号:{0},姓名:{1}",stu1.Sno,stu1.Sname )+"\r\n";
                MessageBox.Show("添加成功!");
                txtsno.Text = "";
                txtsname.Text = "";
            }
        }
        private void btnLofoInd_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtIndex.Text == "")
                {
                    MessageBox.Show("请输入索引号!");
                }
                else
                {
                    Student stu1 = clist[Convert.ToInt32(txtIndex.Text)];
                    if (stu1 != null)
                    {
                        txtdisplay.Text = string.Format("学号:{0},姓名:{1}", stu1.Sno, stu1.Sname);
                    }
                    else
                    {
                        txtdisplay.Text = string.Format("没有索引值为a{0}的学生, Convert.ToInt32(txtIndex.Text));
                    }
                }
            }
            catch {
                MessageBox.Show("未找到学生信息!");
            }
        }
        private void btnLofoSno_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtsno.Text == "")
                {
                    MessageBox.Show("请输入学号!");
                }
                else
                {
                    Student stu1 = clist[txtsno .Text];
                    if (stu1 != null)
                    {
                        txtdisplay.Text = string.Format("学号:{0},姓名:{1}", stu1.Sno, stu1.Sname);
                    }
                    else
                    {
                        txtdisplay.Text = string.Format("没有找到学号是{0}的学生, txtsno.Text );
                    }
                }
            }
            catch
            {
                MessageBox.Show("未找到学生信息!");
            }
        }
        private void btnLofoSna_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtsname.Text == "")
                {
                    MessageBox.Show("请输入姓名!");
                }
                else
                {
                    Student stu1 = clist[txtsname.Text];
                    if (stu1 != null)
                    {
                        txtdisplay.Text = string.Format("学号:{0},姓名:{1}", stu1.Sno, stu1.Sname);
                    }
                    else
                    {
                        txtdisplay.Text = string.Format("没有找到姓名是{0}的学生, txtsname.Text);
                    }
                }
            }
            catch
            {
                MessageBox.Show("未找到学生信息!");
            }
        }
    }
    public class Student
    {
        private string sno;
        private string sname;
        public Student(string sno, string sname)
        {
            this.sno = sno;
            this.sname = sname;
        }
        public string Sno
        {
            get
            {
                return sno;
            }
        }
        public string Sname
        {
            get
            {
                return sname;
            }
        }
    }
    public class ClassList
    {
        private Student[] students;
        public ClassList(int n)
        {
            students = new Student[n];
        }
        //根据索引查找
        public Student this[int index]
        {
            get
            {
                if (index < 0 || index >= students.Length)
                {
                    return null;
                }
                return students[index];
            }
            set
            {
                if (index < 0 || index >= students.Length)
                {
                    return;
                }
                students[index] = value;
            }
        }
        //按姓名或学号查找
        public Student this[string infor]
        {
            get
            {
                foreach (Student stu in students)
                {
                    if (stu.Sname == infor||stu.Sno==infor)
                    {
                        return stu;
                    }
                }
                return null;
            }
        }
    }
    

    }

    (4)运行结果:
    添加学生:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述按索引查找,如果超出则为:
    在这里插入图片描述在这里插入图片描述按姓名查找:

    在这里插入图片描述在这里插入图片描述按学号查找:
    在这里插入图片描述在这里插入图片描述

    展开全文
  • C++使用MFC编写一个简易计算器应用程序

    千次阅读 多人点赞 2020-11-08 23:14:30
    本篇文章主要讲解利用C++中的MFC框架编写一个简易的计算器应用程序,希望通过此例能让大家够很好地理解MFC框架。 一.MFC简介 1.定义 MFC的全称是Microsoft Foundation Classes是微软基础类库的简称,是微软公司实现...

    本篇文章主要讲解利用C++中的MFC框架编写一个简易的计算器应用程序,希望通过此例能够让大家更好地理解MFC框架。

    一.MFC简介

    1.定义
    MFC的全称是Microsoft Foundation Classes是微软基础类库的简称,是微软公司实现的一个C++类库,其中,主要封装了大部分windows API函数

    2.设计原理
    MFC是应用程序开发框架,是库的集合,它向程序开发人员提供了一组服务来协助开发。通常情况下,应用程序开发框架被设计为尽可能地使开发过程合理化以及简化繁琐的编程任务。MFC可以简化大部分的Windows API的使用,MFC中采用了API中的一些功能,例如窗口管理图形输出或消息路由选择,且用C++类进行包装,使开发者更易于使用。

    3.MFC的优势
    MFC是面向对象的设计将Windows API中的相关部分组合到C++类或者对象中。比如,CWnd类封装了绝大部分API编程功能,作为开发人员,不必记忆大量的API函数调用。只需要实例化CWnd类并调用成员函数就可以实现其对应功能。

    4.MFC特性
    MFC提供的特性数量很多,主要支持的特性如下:
    1).文档/视图体系结构
    2).多文档界面(MDI)
    3).打印以及打印预览支持
    4).使用并创建ActiveX控件
    5).ODBC以及Access数据库支持
    6).Internet(TCP/IP)编程支持
    7).Windows常用控件支持
    8).多线程支持

    二.MFC实例演示----编写简易计算器(基于VS2010)

    第一部分讲了MFC的一些基础概念,现在,向大家演示使用MFC编写一个简易计算器的例子。

    1.创建计算器工程项目及对话框:
    选择"文件"->新建->项目。
    在这里插入图片描述
    点击项目后弹出"新建项目"对话框,选择"Visual C++“下的“MFC”,在右侧选择"MFC应用程序”。
    在这里插入图片描述
    在下面的"名称"编辑框中输入工程名称取名为"Calculator",在"位置"编辑框中选择工程的保存路径,然后点击"确定"。
    在这里插入图片描述
    点击"下一步"到"应用程序类型"对话框,在"应用程序类型"下选择"基于对话框",其它为默认设置,点击"完成"。
    在这里插入图片描述
    此时会生成工程视图
    在这里插入图片描述
    在"解决方案"视图中可以看到"头文件"、"源文件"和"资源文件"等文件。

    双击"资源文件"下的"Calculator.rc"可以看到有四个子项
    在这里插入图片描述
    在这里插入图片描述
    其中:Dialog是对话框的视图,Icon是一些图标,String Table是字符串表,Version是版本。
    点击箭头展开Dialog项
    在这里插入图片描述
    出现两个对话框模板,它们的ID为"IDD_ABOUTBOX"和"IDD_CALCULATOR_DIALOG",前者是"关于"对话框模板,后者是主对话框模板,ID是资源的唯一标识,便于我们区分对话框模板。

    此时,创建对话框已经完成,如果需要添加对话框时,可以右键Dialog选择"插入 Dialog"就可以新建对话框,并且会自动分配ID。
    在这里插入图片描述
    2.设置对话框模板属性:
    点击Dialog下的ID为"IDD_CALCULATOR_DIALOG"的主对话框模板,右键主对话框模板,选择"属性",就可以查看对话框模板的属性。
    在这里插入图片描述
    弹出的属性列表如下:
    在这里插入图片描述

    其中主要的有:
    1).Caption:对话框标题。默认为工程名,我们修改为"计算器"。
    2).Border:边框类型,有四种类型:None、Thin、Resizing和Dialog Fram,选择默认。
    在这里插入图片描述
    3).style:对话框类型。有三种类型:Overlapped(重叠窗口)、Popup(弹出式窗口)和Child(子窗口),默认使用Popup。
    在这里插入图片描述
    4).System Menu:是否带有系统菜单,默认使用True
    5).Title Bar:是否带有标题栏,默认使用True
    6).Font(Size):字体类型及大小。默认使用True设置为系统字体

    3.添加控件
    1).添加一个静态文本框(Static Text),显示数字A,先删除自动添加的标题为"TODO: 在此放置对话框控件。“的静态文本框,点击此文本框按"Delete"键就可删除。
    2).点击拖动Static Text至主对话框模板
    在这里插入图片描述右键点击静态文本框选择"属性”,修改静态文本框标题为"数字A",ID为"IDC_NUMBERA_STATIC"。
    同理:添加另一个静态文本框,显示"数字B",ID为"IDC_NUMBERB_STATIC"。效果如下:
    在这里插入图片描述

    3).分别为数字A和数字B添加编辑框(Edit Control),用来输入数字A和数字B。
    步骤:拖动Edit Control至主对话框模板,点击右键选择属性,修改ID为"IDC_NUMBERA_EDIT"和"IDC_NUMBERB_EDIT"。
    此时对话框效果如下:
    在这里插入图片描述

    接着,添加结果静态文本框和编辑框,ID分别为"IDC_RESULT_STATIC"和"IDC_RESULT_EDIT"。

    4).添加两个单选按钮为"加法"和"减法",设置属性ID为"IDC_ADD_RADIO"和"IDC_MINUS_RADIO",添加静态文本框为"请选择计算类型"并且删除原来默认的"确定"按钮,将"取消"按钮改为"退出"。
    效果如下:
    在这里插入图片描述

    4.为控件添加变量
    静态文本框是不变的,不需要添加变量,按钮是用来操作的,也不要添加变量,而数字是会变的,需要为控件关联变量。

    步骤:
    1).为数字A和数字B的编辑框添加变量。在编辑框点击右键,选择"添加变量"。
    在这里插入图片描述
    2).在弹出的对话框中设置"类别"为"Value",变量类型为"double",变量名取为"m_editNumberA"
    在这里插入图片描述

    3).同理,分别为数字B和结果添加变量,分别为double型"m_editNumberB"和double型"m_editResult",点击"完成"。

    5.相关函数

    1).数据交换和检验函数DoDataExchange()
    控件的属性修改后MFC会相应地修改控件关联的变量值。这种同步的改变是通过对话框类自动生成的成员函数DoDataExchange()来实现的。
    代码如下:

    void CCalculatorDlg::DoDataExchange(CDataExchange* pDX)
    {
     CDialogEx::DoDataExchange(pDX);//处理数据交接
     DDX_Text(pDX, IDC_NUMBERA_EDIT, m_editNumberA);//处理控件IDC_NUMBERA_EDIT和m_editNumberA的数据交换
     DDX_Text(pDX, IDC_NUMBERB_EDIT, m_editNumberB);//处理控件IDC_NUMBERB_EDIT和m_editNumberB的数据交换
     DDX_Text(pDX, IDC_RESULT_EDIT, m_editResult);//处理控件IDC_RESULT_EDIT和m_editResult的数据交换
    }
    

    2).显示函数UpdateData()
    CDialogEx::UpdateData()函数原型为:BOOL UpdateData(BOOL bSaveAndValidate= TRUE);
    其中,参数bSaveAndValidate用于指示数据传输方向,True表示从控件传给变量,FALSE表示从变量传给控件。默认为True,表示从控件传给变量。

    6.添加消息处理函数
    我们设置的计算按钮是用来点击后进行计算,所以,需要给按钮添加消息处理函数。

    方式一:使用MFC Class Wizard添加消息处理函数。
    右键点击"计算"按钮,选择类向导。

    在这里插入图片描述
    弹出MFC类向导对话框,此时,默认按钮的单击处理函数已经选择好了,我们选择"添加处理程序"就可以为计算按钮添加单击事件。
    在这里插入图片描述
    方式二:右键点击计算按钮,选择"添加事件处理程序",直接点击"添加编辑"。
    在这里插入图片描述
    在这里插入图片描述
    方式三:在计算按钮属性视图中添加消息处理函数,右键点击计算按钮,选择属性,点击"Control Events"按钮,类似于闪电标志。
    在这里插入图片描述
    选择"BN_CLICKED"消息,点击箭头,出现"OnBnClickedAddButton",点击它就可以添加消息处理函数。
    在这里插入图片描述
    方式四:双击计算按钮直接添加消息处理函数。
    在这里插入图片描述
    7.完成代码逻辑编写
    1).我们设置单选按钮的作用是选择计算类型是加法还是减法,在CCalculatorDlg::OnInitDialog()函数中添加单选按钮默认设置为"选上加法",这样程序运行时,默认会在加法单选按钮上选上。

    // TODO: 在此添加额外的初始化代码
    ((CButton*)GetDlgItem(IDC_ADD_RADIO))->SetCheck(BST_CHECKED);
    

    2).在计算按钮单击后,添加计算结果

    
    void CCalculatorDlg::OnClickedCalButton()
    {
     // TODO: 在此添加控件通知处理程序代码
     //由控件向变量传值
     UpdateData(TRUE);
     //如果单选按钮选上加法
    if(::SendMessage(::GetDlgItem(m_hWnd,IDC_ADD_RADIO),BM_GETCHECK,NULL,NULL)==BST_CHECKED)
     {
      m_editResult=m_editNumberA+m_editNumberB;
     }
      //如果单选按钮选上减法
     else if(::SendMessage(::GetDlgItem(m_hWnd,IDC_MINUS_RADIO),BM_GETCHECK,NULL,NULL)==BST_CHECKED)
     {
      m_editResult=m_editNumberA-m_editNumberB;
     }
     //由变量传给控件显示值
     UpdateData(FALSE);
    }
    

    运行结果:
    当单选按钮选择"加法时":
    在这里插入图片描述
    当单选按钮选择"减法"时:
    在这里插入图片描述
    8.控件Tab顺序调整
    我们在打开程序时,不进行任何操作,直接按回车,发现程序直接关闭,经过研究发现:程序打开时,默认"退出"按钮为顺序1的控件,就是第一个接受用户输入的控件。为了让"退出"按钮不是第一个接受用户输入的控件,我们需要对它进行调整。
    在这里插入图片描述点击主菜单"格式"选择Tab键顺序
    在这里插入图片描述
    发现"退出"按钮确实是Tab顺序1
    在这里插入图片描述
    修改方式为:数字A编辑框第一个点击就会设置成1,然后依次点击就是依次排序,将退出设置为最后一个,这样,第一个接受用户输入的就是数字A的编辑框了。
    在这里插入图片描述重新编译
    效果:
    在这里插入图片描述
    发现编辑框为第一个接受输入的控件,由此,简易计算器的编写就完成了。

    最后,虽然MFC已经逐渐被QT(图形用户界面应用程序开发框架)取代了,但完成一些简单快捷的应用程序,MFC还是可以轻松解决的。技术在进步,但也不能完成舍弃新技术的基础。

    展开全文
  • 编写一个Windows窗口应用程序

    千次阅读 2017-08-16 10:49:52
    编写一个Windows窗口应用程序使用VS2008,64位编译器。 1.打开VS2008,新建一个空项目2.在项目中添加.cpp文件3.输入代码如下 #include <windows.h> #include <stdio.h>LRESULT CALLBACK WinHuProc( HWND hwnd, // ...

    编写一个Windows窗口应用程序

    使用VS2008,64位编译器。

    • 1.打开VS2008,新建一个空项目
    • 打开VS2008,新建一个空项目
    • 2.在项目中添加.cpp文件
    • 这里写图片描述
    • 3.输入代码如下
    #include <windows.h>
    #include <stdio.h>
    
    LRESULT CALLBACK WinHuProc(
        HWND hwnd,      // handle to window
        UINT uMsg,      // message identifier
        WPARAM wParam,  // first message parameter
        LPARAM lParam   // second message parameter
                                );
    
    int WINAPI WinMain(
        HINSTANCE hInstance,        // handle to current instance
        HINSTANCE hPrevInstance,    // handle to previous instance
        LPSTR lpCmdLine,            // command line
        int nCmdShow                // show state
                       )
    {
        //设计一个窗口类
        WNDCLASS wndcls;
        wndcls.cbClsExtra=0;
        wndcls.cbWndExtra=0;
        wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
        wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
        wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
        wndcls.hInstance=hInstance;     //应用程序实例句柄由WinMain函数传进来
        wndcls.lpfnWndProc=WinHuProc;
        wndcls.lpszClassName="simpleframe";
        wndcls.lpszMenuName=NULL;
        wndcls.style=CS_HREDRAW | CS_HREDRAW;
        RegisterClass(&wndcls);
    
        //创建窗口,定义一个变量用来保存成功创建窗口后返回的句柄
        HWND hwnd;
        hwnd=CreateWindow("simpleframe","12345",
            WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);
        //显示及刷新窗口
        ShowWindow(hwnd,SW_SHOWNORMAL);
        UpdateWindow(hwnd);
    
        //定义消息结构体,开始消息循环
        MSG msg;
        while (GetMessage(&msg,NULL,0,0))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        return msg.wParam;
    }
        //编写窗口过程函数
        LRESULT CALLBACK WinHuProc(
            HWND hwnd,      // handle to window
            UINT uMsg,      // message identifier
            WPARAM wParam,  // first message parameter
            LPARAM lParam   // second message parameter
            )
        {
            switch(uMsg)
            {
            case WM_CHAR:
                char szChar [20];
                sprintf (szChar,"char code is %d",wParam);
                MessageBox(hwnd,szChar,"char",0);
                break;
            case WM_LBUTTONDOWN:
                MessageBox(hwnd,"mouse clicked","message",0);
                HDC hdc;
                hdc=GetDC(hwnd);        //不能再响应WM_PAINT消息时调用
                TextOut (hdc,0,50,"程序员之家",strlen("程序员之家"));
                //ReleaseDC (hwnd,hdc);
                break;
            case WM_PAINT:
                HDC hDC;
                PAINTSTRUCT ps;
                hDC=BeginPaint(hwnd,&ps);       //BeginPaint 只能在响应WM_PAINT消息时调用
                TextOut(hdc,0,0,"12345",strlen("12345"));
                EndPaint(hwnd,&ps);
                break;
            case WM_CLOSE:
                if (IDYES == MessageBox(hwnd,"是否真的结束?","message",MB_YESNO))
                {
                    DestroyWindow(hwnd);
                }
                break;
            case WM_DESTROY:
                PostQuitMessage(0);
                break;
            default:
                return DefWindowProc(hwnd,uMsg,wParam,lParam);
            }
            return 0;
        }
    
    • 4.选择x64编译器
    • 这里写图片描述
    • 5.编译运行

    - 这里写图片描述

    代码来源:《VC深入详解》第一章

    展开全文
  • 编写如下代码: usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Wi...
  • C++&CLR(VS2015)编写 Windows 窗体应用程序
  • (1)新建windows应用程序,名为MyForm1。 (2)在窗体上添加控件,如图所示。 输入框的name属性分别为:txtname 、txtscore 按钮的name属性分别为:btnadd、btnmaxscore (3)代码: using System; using System....
  • 编写如下代码: usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Wi...
  • Windows窗体应用程序设计小

    万次阅读 多人点赞 2019-01-07 23:50:06
    首先创建一个简单的windous窗体应用程序,名为Form1 一,windows 窗体应用程序是由控件组成的,控件是可以重复使用的类或组件 MessageBoxButtons枚举值及其说明 成员名称 说明 MessageBoxButtons.AbortRetryIgore ...
  • 编写一个windows应用程序,要求在窗口的用户区中绘制一个圆 ,当单击左键时,该圆放大;单击右键时,该圆缩小;按下ctrl键时的同时鼠标移动,则该圆会随鼠标移动而移动。 1.建立一个SDI,名字为MFCexp7_9 ...
  • Windows应用程序是基于消息驱动的,任何线程只要注册窗口类都会有一个消息队列用于接收用户输入的消息和系统消息。 一、 窗口的创建流程 创建一个完整的窗口需要经过下面四个操作步骤: 设计一个窗口类(填写...
  • 设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号、姓名、语文、数学和英语3门课程的期末考试成绩,要求: (1)能根据姓名查询指定学生的总成绩。 (2)能统计全班学生的平均...
  • windows服务启动应用程序windows服务默认在Session 0,不在当前桌面,启动的程序默认也在那个Session 0,所以你看不到程序界面, 用CreateProcessAsUser启动应用程序才可以看到界面
  • C# 编写 WinForm 窗体应用程序(第期)

    千次阅读 2021-02-20 18:55:12
    WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,一般使用 C# 编程。C# WinForm 编程需要创建「Windows窗体应用程序」项目。
  • 创建Windows窗体应用程序的一般步骤 1.创建Windows窗体项目 2.创建用户界面 3.添加控件 4.创建处理控件事件的方法 5.将控件事件与事件处理方法关联 6. 运行和测试程序 具体步骤如下: ① 创建窗体...
  • 如何创建一个最简单的Windows桌面应用程序 (C++)

    万次阅读 多人点赞 2017-02-07 13:23:49
     最近刚开始学习C/C++开发Windows应用程序,这里将会以零基础的视角把学习过程完全记录下来。如果你也刚刚起步,那本文一定非常适合你。  进入正题,本文讨论如何使用Visual Studio生成一个最简单的C窗体应用程序...
  • 用C#开发Windows应用程序

    千次阅读 2020-07-15 11:08:06
    To develop windows application, we need to ... 要开发Windows应用程序 ,我们需要使用studio并遵循一些步骤: Step 1) First of all we launch visual studio. 步骤1)首先,我们启动Visual Studio。 Step 2...
  • 设计一个Windows应用程序,使用for语句输出杨辉三角的前十行,形式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 … 请大神能帮忙解答,谢谢了
  • python运行Windows应用程序

    千次阅读 2021-01-14 03:25:01
    转自:http://my.oschina.net/mutour/blog/3304210.4 运行其他程序在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的...
  • 编写一个简单的web应用程序

    万次阅读 2017-09-28 23:32:17
    web应用程序一个可以通过web访问的应用程序。 PS:目前软件开发领域的三大方向:桌面应用程序(QQ,office)、web应用程序(天猫,京东)、嵌入式应用程序(安卓,iphone) 手工编写一个简单的web程序:  首先...
  • 步:用VS创建“Windows窗体应用程序”第二步:UI界面设计首先要知道自己想要的程序功能,比如是否需要文本输入,就用textbox或者richtextbox,按钮实现点击控制功能。然后就是添加控件。最后是布置得美观一点。...
  • //窗体上放置图片,用 PictureBox 控件。 // 程序设置控件背景 pictureBox1.BackgroundImage = Image.FromFile(CurrentPath + "back.jpg");
  • C语言写Windows应用程序

    千次阅读 2020-03-17 23:34:01
    以前都在写Windows控制台应用程序,但我们用的软件都不是这种Windows控制台应用程序,而是种叫Win32应用应用程序,它们两者完全不同。 Windows控制台应用程序: 代码: #include <iostream> using ...
  • Windows应用程序组成及编程步骤

    千次阅读 2017-05-07 02:13:01
    应用程序的组成 源程序文件 头文件 模块定义文件 资源描述文件 项目文件(工程文件Project) Windows源程序组成结构 入口函数 | WinMain 所有程序的入口,类似Main函数 完成定义和初始化,产生消息循环 窗口函数 | ...
  • //没有标题栏、关闭按钮、最大化、最小化按钮的全屏窗口 private void Form1_Load(object sender, EventArgs e) { this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWindo...
  • 一个简单的windows窗口程序

    千次阅读 2020-09-23 21:51:59
    一个简单的windows窗口程序创建一个windows窗口程序的步骤具体实现代码实现效果 创建一个windows窗口程序的步骤 定义窗口类 注册窗口类 创建窗口 更新显示窗口 建立消息循环 处理消息 具体实现代码 #include ...
  • 上编blog说到用Python开发Windows桌面应用程序的环境搭建,下面就说说如何实现一个简单的远程日志读取的功能。 界面绘制 打开界面绘制工具,选中项目后,右键找到External Tools,然后选择QtDesigner 打开Qt ...
  • 要求编写成Window应用程序。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System....
  • 不错的C#.NET做的WINDOWS窗体应用程序,主要是献给追求C#.NET窗体设计的朋友,由于时间紧,急于发表,就做了几,后续开发,尽情期待哦。
  • 设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生,中学生,大学生等派生类,当输入相关数据,单击不同的按钮(小学生,中学生,大学生)将分别创建不同的学生对象,并输出当前学生总...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 373,325
精华内容 149,330
关键字:

编写一个windows应用程序