C#Windows Form简易计算器实现(上)

  第一次写博客,来分享一个简易计算器的代码。作为一名准程序员,就是要多写代码才能孰能生巧。重视基础知识才能飞的更快更高以及更稳。

代码可能会写的很糟糕,不完美不安全之处希望发现的越多越好

  c#编写计算器带窗口的,对于新手来说是如何建立窗体以及实现按钮的响应事件吧!那么,首先来探索下窗口是怎么实现的吧!



  步骤1:新建项目→C#windows窗体应用程序→新建解决方案



  此时你会发现有两个名称,一个是解决方案名称,一个是项目名称。对于小程序来说其实没什么区别。但对于大点的程序最好就要区别开了。解决方案就好比是一个大公司,项目名称就好比公司里的部门,不同的部门有不同的功能,然后组织起来,公司才能运营起来。在这里因为程序很小,就都设置为简易计算器吧。

  建完之后,大家可以看到如下界面

  建完项目之后,大家不妨到保存的文件夹里看看到底保存了什么吧

  bin文件夹:用来保存项目生成后程序集。bin\debug文件夹下有个.exe或.dll文件,此文件是最终生成的应用程序。(百度上还有更细的解释,其实笔者看完后也是一头雾水,相信以后会慢慢深入了解)

  obj文件夹:用来保存每个模块的编译结果。在.Net中,编译是分模块进行的。编译完成后会合并为一个.DLL或.EXE文件保存到bin目录下。每次编译采用的是增量编译,即只重新编译改变了的代码。obj保存每个文件编译的结果,用来加快代码的编译速度。是否采用增量编译,可以通过:项目属性-->配置属性-->高级-->增量编译来设置。

  Proprtties文件夹:用于存放一些和程序设置相关的内容,如Assembly版本信息、应用程序配置,等一般不需要手动编写。

  知道这些就不怕以后从文件夹打开文件不知道点哪个啦

  回到vs界面。我们看到一个空白的Form1.cs设计,这个可以让程序员直接拖控件设计界面。

  试着在旁边的工具箱随便托一个控件,再观察代码



  步骤2:试着拖了一个按钮



  打开Form1.Designer.cs和Form1的代码,看看里面怎么写吧

//Form1.Designer.cs代码如下
namespace 简易计算器
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;  

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }  

        #region Windows 窗体设计器生成的代码  

        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(79, 74);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.UseVisualStyleBackColor = true;
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 262);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);  

        }  

        #endregion  

        private System.Windows.Forms.Button button1;
    }
} 
//Form1.cs代码如下
Form1.cs
namespace 简易计算器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
} 

  可以看到class Form1是由partial修饰,这是分布类。再看看Form1.Designer.cs的代码,同样也是partial修饰的。原来Form1.Designer.cs的代码也是Form1类的一部分。(笔者就把它们当成写在一起的,总之什么字段函数属性都属于Form1类)

 (注意)partial不是关键字,所以在其他上下文,可以在程序中把它用作标识符号 。但是直接用在关键字class,struct或则interface之前,表示分部类型。Visio Studio为标准Windows程序模块使用了这个特性。如果你从标准模块创建ASP.NET项目、Windows Forms项目或则Windows Presentation Foudation(WPF)项目,模板为每一个Web页面、表单或WPF窗体创建两个类文件。我们在Form1设计里直接设计或则修改界面,代码会自动添加在Form1.Designer.cs里面。一般不应该修改里面的代码,因为如果修改页面组件的话,Visual Studio会重新编译生成这些代码,修改过的代码就会丢失掉了。



  步骤3:为按钮添加一个点击事件



  定义一个按钮被点击后要实现的函数Button_OnClick(),然后为按钮添加点击事件

namespace 简易计算器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();  

            button1.Click += new EventHandler(Button1_OnClick);  //2.再添加事件响应
        }  

        private void Button1_OnClick(object sender,EventArgs args)   //1.先写一个点击后的方法
        {
            Console.WriteLine("鼠标被点击啦");
        }
    }
}  

  此时按F5编译打开程序,点击一下按钮,再关闭程序,在后台输出里可以看到

说明就成功了。

有了这些窗口知识,下面就可以来编写一个简易的计算器了

TIP:小白们编写窗体尽量不要依赖.net提供的窗口设计面板直接拖拉控件,而是把它当成一种学习便捷工具。自己尝试拖拉控件改变布局,改变控件属性,然后在自动生成的代码里学习是如何实现的,然后就可以为我所用来自己编写代码实现自己的界面了。

时间: 2024-10-24 18:03:15

C#Windows Form简易计算器实现(上)的相关文章

C#Windows Form简易计算器实现(中)

昨天花了一天的时间弄计算器.也算是做出来了,还是简易的(怀疑猿生!!).在此先感谢昨天被我骚扰的朋友. 先贴一张界面看看 其实健壮性还是挺差的,用户体验也是极差的.比如说用户输入了不合理运算式子,我就直接抛出一个异常完事了,因为要在原来的算法里加判断实在晕乱.所以趁热打铁,希望在写博客的时候再把思路理理,完善不足. 思路一: 因为计算的是四则混合运算,比如2*6-4/(2+3).我们最开始得到的是一个表达式字符串,计算机是不会帮你计算的.而四则混合运算有优先等级的计算,那么该怎么计算呢?于是问了

Windows Form简易计算器实现(下)

陆陆续续更新这个计算器用了一个礼拜了,今天无论如何也要把它更完.笔者有点追求完美,再者每天都有课,晚上还有作业,还有每晚都会写一些其他的博文. 上一次漏了写如何实现计算的.思路如下: 之前得到一个栈2stack2,里面存的是逆波兰式.但是注意了,式子是反过来的.因为栈只能从栈顶写入,从栈顶拿出.所以,必须把栈2的数反过来. 下面是转换的代码: // //将栈2数值倒过来 // private void UpSideDown() { string[] strTemp = stack2.ToArra

C# 简易计算器

编写如下界面的简易计算器界面代码: using System; using System.Windows.Forms; using exp; namespace calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } enum symbol { plus,dec,mult,div}; private void button1_Click(object sender, Ev

[C#]组合框设计windows加减乘除简单计算器应用

组合框使用方法,按照下面图片上提示,设计一个windows应用程序,实现不同运算. 界面设计: 代码: 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 comb

JAVA开发简易计算器界面-SWT

大家好,我是成都[LD],博客四年前就申请了,一直没打理,最近正好有时间,遂萌生了写技术博客的念头.我不得不感慨现在新技术更新很快,一不小心,就感觉自身就Out了.记得一年前,当时我也是在51CTO上了解到NoSQL和Hadoop这样的信息,当时就简单觉得很新奇,没想到一年之后发展如此迅速~~当然我这样说,并不是叫大家去追寻新技术,最根本的还是基础打牢靠,休息的时候多去了解下最新的IT动态.学习下前辈高手的一些技能~~打铁还需自身硬嘛! 我写博客的目的:一来是为了促进自身的进步,二来是为了希望与

函数调用_猜数字和简易计算器

package app1; import java.util.*; public class TestFunction{     public static void main(String[] args){         Scanner sc=new Scanner(System.in);         System.out.print("请选择一项应用:\n1.猜数字\n2.简易计算器");         int n=sc.nextInt();         switch(

基于mini2440简易计算器

基于mini2440简易计算器使用的是数组实现,并非逆波兰式,因此功能不够强大,仅供驱动学习,以及C语言基础编程学习之用.有时间读者可以用逆波兰式来实现强大功能计算器,原理也很简单,建议读<c程序设计第二版>里面有算法的代码.读者自行研究.此程序基于电子相册的改进,触摸屏,LCD,字符现实,数字输入等等 mini2440  索尼X35   LCD液晶屏 主函数部分: #include "def.h" #include "option.h" #includ

如何用jsp实现一个简易计算器(三)

做这个jsp页面,主要是为了实现在同一个页面提交和接受数据的功能. 这个小程序存在很多不足,希望大家多多批评指正. <%@ page language="java" contentType="text/html;" pageEncoding="gbk"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w

结对-简易计算器-设计文档

项目:简易计算器 本设计的大概需要的功能:1.可以判断是小数点前还是后 2.需要初始化小数点后的倍率 3.可以标记加减乘除 4.需要记录上一轮结果 5.实现每个数字按钮和算数按钮