C#练习——窗体实现简单计算器,完成加,减,乘,除,取余,简单运算

2023-11-09

c# windows窗体练习:实现简单计算器,完成加,减,乘,除,取余,简单运算

//编写环境:vs2017
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace windows_test
{
    public partial class Form1 : Form
    {
        Single a;
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = "+";
            a = Convert.ToSingle(textBox1.Text) + Convert.ToSingle(textBox2.Text);
            label2.Text = a.ToString();//ToString()是一种object类的方法,实现将数字数据类型转换为String(字符串)类型,返回原生数据类型的string对象值

        }

        private void button4_Click(object sender, EventArgs e)
        {
            label1.Text = "/";
            if(Convert.ToSingle(textBox2.Text)!=0)
            {
                a = Convert.ToSingle(textBox1.Text) / Convert.ToSingle(textBox2.Text);//强制转换为single型  single类型表示单精度实数
                label2.Text = a.ToString();
            }
            else
            {
                MessageBox.Show("除数不能为0!请重新输入:");//MessageBox.show()方法,实现c# windows窗体中的弹出式提示语句(警告语句)
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            label1.Text = "*";
            a = Convert.ToSingle(textBox1.Text) * Convert.ToSingle(textBox2.Text);
            label2.Text = a.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            label1.Text = "-";
            a = Convert.ToSingle(textBox1.Text) - Convert.ToSingle(textBox2.Text);
            label2.Text = a.ToString();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            label1.Text = "%";
            if (Convert.ToSingle(textBox2.Text) != 0)
            {
                a = Convert.ToSingle(textBox1.Text) % Convert.ToSingle(textBox2.Text);//强制转换为single型  single类型表示单精度实数
                label2.Text = a.ToString();
            }
            else
            {
                MessageBox.Show("除数不能为0!请重新输入:");//MessageBox.show()方法,实现c# windows窗体中的弹出式提示语句(警告语句)
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            this.Close();//退出窗体,结束程序并关闭程序
        }
    }
}

重难点:

1.ToString()方法将数值型转换为字符串类型

ToString()是一种object类的方法,继承object类,使用ToString()方法,即方法的重写
1)如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值。 原生数据类型—>String 类型
2)如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。 例:2.5.ToString(“C”) =》¥2.50
或 {0[,M:D]}([] 表示可选,与c#输出时设置格式语法相同)
按指定格式输出

返回值:
(1)toString(): 返回表示 Integer 值的 String 对象。
语法:值或变量.ToString();
(2)toString(int i): 返回表示指定 int 的 String 对象。
语法:原生数据类型.ToString(值或变量);
(2种形式均可,且意义相等)

2.Single 型 和 int 型的区别:
Integer:整数数据类型, 表示整数 / 整型数
Single:单精度的实数 表示单精度浮点型(实数)

Single的范围更大

3.MessageBox.Show()方法

用途:弹出一个消息框,实现 windows窗体中的弹出式提示语句(警告语句),并不关闭程序
语法:MessageBox.Show("提示语句“);

4.this.Close();//退出窗体,结束程序并关闭程序
常添加在按钮上,(点击按钮关闭窗体(程序),建设关闭按钮)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#练习——窗体实现简单计算器,完成加,减,乘,除,取余,简单运算 的相关文章

  • 无法在 QGLWidget 中设置所需的 OpenGL 版本

    我正在尝试在 Qt 4 8 2 中使用 QGLWidget 我注意到 QGLWidget 创建的默认上下文不显示 OpenGL 3 1 以上的任何输出 Qt wiki 有一个教程 http qt project org wiki How t
  • 如何使用C从http下载文件?

    最近几天我试图弄清楚如何从 URL 下载文件 这是我对套接字的第一个挑战 我用它来了解协议 所以我想在没有 cURL 库的情况下只用 C 语言来完成它 我搜索了很多 现在我可以打印页面的源代码 但我认为这与文件不同 我不必只将接收到的数据从
  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 并行运行多个任务

    我有一个代理列表 每个代理都会访问不同的站点并从站点中提取所需的数据 目前它一次只做一个 但我希望同时运行 10 20 个任务 这样它就可以一次性从 20 个站点下载 而不是只下载一个 这是我目前正在做的事情 private async T
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 使用 POST 的 HttpWebRequest 的性能

    我有一个用于测试网络服务的小工具 它可以使用 POST 或 GET 调用 Web 服务 使用POST的代码是 public void PerformRequest WebRequest webRequest WebRequest Creat
  • 来自 double 的 static_cast 可以优化分配给 double 吗?

    我偶然发现了一个我认为不必要的功能 并且通常让我感到害怕 float coerceToFloat double x volatile float y static cast
  • 如何使用T4从一个模板同时生成两个文件?

    我遇到的情况是 我需要生成两个 CSharp 代码文件 它们的代码几乎相同 但方法的输入和输出类型的命名空间不同 事实上 每个文件都针对特定国家 地区 并且类型来自特定国家 地区的 WSDL 我正在围绕服务编写一些包装器 逻辑完全相同 但从
  • C++中类成员函数相互调用有什么好处?

    我是 C 新手 我发现下面的编程风格对我来说很有趣 我在这里写了一个简化版本 include
  • 每个元素的 asp.net Web 表单自定义错误消息

    我创建了一个 Web 应用程序 表单 以及后端 SQL 插入和查询 目前我正在显示所有用户错误消息 div style padding 1em div
  • DateTime.ParseExact - 为什么 yy 变成 2015 而不是 1915

    为什么 NET 假定以下年份是 2015 年 而不是 1915 年 var d DateTime ParseExact 20 11 15 dd MM yy new CultureInfo en GB 我想 它会尝试接近 但其背后是否有合理的
  • 如何在 C++ 中正确使用 cin.fail()

    我正在编写一个程序 从用户那里获取整数输入cin gt gt iUserSel 如果用户输入一个字母 程序就会进入无限循环 我试图用下面的代码来阻止这种情况 但程序进入无限循环并打印出 错误 输入 我该如何修复我的程序 cin gt gt
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • fgets溢出后如何清除输入缓冲区?

    当输入字符串超出其预定义限制时 我遇到了 fgets 的小问题 以下面的例子为例 for index 0 index lt max index printf Enter the d string index 1 if fgets input
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • 使用通用存储库模式和流畅的 nHibernate

    我目前正在开发一个中型应用程序 它将访问不同站点上的 2 个或更多 SQL 数据库等 我正在考虑使用类似的东西 http mikehadlow blogspot com 2008 03 using irepository pattern w
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS

随机推荐

  • CUDA编程 之 二进制工具与反编译

    两个 反编译工具 cuobjdump and nvdisasm 参考 http blog csdn net dark5669 article details 62264312
  • python中的copy和deepcopy

    数据处理经常会用到引用或者赋值 Python中的可变类型变量在操作时需要注意拷贝的方式 特别在实现复杂功能的函数时 一不小心就会改变原来的数据内容 data name anne age 18 scores 语文 130 数学 150 英语
  • CUDA和cuDNN各版本下载及版本对应关系

    CUDA和cnDNN是支持NVIDIA支持GPU的两个库 分别用于高性能计算和深度神经网络计算的支持 CUDA Compute Unified Device Architecture 是NVIDIA支持GPU的通用并行计算架构 该架构使GP
  • Python中常用的处理数据的方法——replace()方法

    replace 方法 描述 Python replace 方法用于把字符串中指定的旧子字符串替换成指定的新子字符串 如果指定 count 可选参数则替换指定的次数 默认全部替换 replace 方法语法 S replace old new
  • R包安装记录

    因为重复安装会引起某些问题以及冲突 已安装 library pheatmap 热图包 library corrplot 热图包 library Hmisc library dplyr
  • 一起学大数据|最详细的大数据学习资源教程,呕心沥血全部分享

    跟大家已经分享了这么长时间的大数据文章了 我们的一起来学大数据系列已经将Java和Linux全部做了一次基础的分享 今天 我把我整理的全套大数据资源分享给大家 一起共同学习 记得关注呦 很多初学者 对大数据的概念都是模糊不清的 大数据是什么
  • 常用设计模式-观察者模式

    观察者模式定义对象间的一种一对多的依赖关系 当一个对象的状态发生改变时 所有依赖于它的对象都得到通知并被自动更新 它还有两个别名 依赖 Dependents 发布 订阅 Publish Subsrcibe 当观察者观察到事件到来之后 通知对
  • hive —— 分区表

    hive 分区表 为了对表进行合理的管理以及提高查询效率 Hive可以将表组织成 分区 一个分区实际上就是表下的一个目录 一个表可以在多个维度上进行分区 分区之间的关系就是目录树的关系 通过PARTITIONED BY子句指定 分区的顺序决
  • zookeeper集群搭建

    一 安装zookeeper Zookeeper的下载地址http mirror bit edu cn apache zookeeper zookeeper 3 4 10 zookeeper集群需要java环境支持 所以要提前安装好JDK 在
  • 区分什么是Java内存模型(JMM)和 JVM运行时数据区

    文章目录 一 概念区分 1 什么是内存模型 什么是 内存区域 运行时数据区 2 为什么要有Java内存模型 2 1 硬件的效率与一致性 2 2 CPU和缓存的一致性 2 2 1 为什么需要CPU cache 2 2 2 三级缓存 L1 L2
  • css引入本地电脑、服务器字体

    font face font family DINProRegular src url fonts DINProRegular DINProRegular eot src url fonts fonts DINProRegular DINP
  • Vmware搭建软路由教程(Openwrt)

    Vmware搭建软路由 准备工作 vmware虚拟机 OpenWrt on VMware master包 https github com luoqeng OpenWrt on VMware提供下载 安装步骤 一 openwrt虚拟机安装
  • Vmware+UOS-server-1050e虚拟机安装(含软件链接)

    1 环境准备 以下使用的系统镜像是 uniontechos server 20 1050e amd64 iso 官网下载地址 统信UOS生态社区 打造操作系统创新生态 Vmware 使用的系统如果是win11 必须安装vmware16 官网
  • jQuery.获取修改value

    获取修改value val 方法 获取和修改有value属性的元素 有value属性的元素有input botton select等 相当于JavaScript中的value
  • FileInputStream的两种读入方式

    package Inputstream import org omg CORBA PUBLIC MEMBER import org testng annotations Test import java io FileInputStream
  • 使用libgmp时出现: 【C4146 一元负运算符应用于无符号类型,结果仍为无符号类型】的解决方案

    vs2019下 使用libgmp时出现 C4146 一元负运算符应用于无符号类型 结果仍为无符号类型 的错误 使用网上说的 关闭SDL检查 的方法无效 用下面的方法解决了这个问题 在 include
  • Pineapple Incident【Codeforces 697 A】

    Codeforces Round 362 Div 2 A 简单题 include
  • TPO39

    Some people hold the viewpoint that it was easier to distinguish a secure and successful job in the past instead of in t
  • 数据结构链表题集

    题目一 113 删除排序链表中的重复数字 二 LintCode 思路 创建哨兵位头结点 原地删除 class Solution public param head head is the head of the linked list re
  • C#练习——窗体实现简单计算器,完成加,减,乘,除,取余,简单运算

    c windows窗体练习 实现简单计算器 完成加 减 乘 除 取余 简单运算 编写环境 vs2017 using System using System Collections Generic using System Component