计算器的简单编写,熟悉访问器,重载

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 计算器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void comboBox1_DrawItem(object sender, DrawItemEventArgs e) //修改combox 信息 中间显示
        {
            string s = this.comboBox1.Items[e.Index].ToString();
            SizeF ss = e.Graphics.MeasureString(s, e.Font);

            float l = (float)(e.Bounds.Width - ss.Width) / 2;
            if (l < 0) l = 0f;
            float t = (float)(e.Bounds.Height - ss.Height) / 2;
            if (t < 0) t = 0f;
            t = t + this.comboBox1.ItemHeight * e.Index;
            e.DrawBackground();
            e.DrawFocusRectangle();
            e.Graphics.DrawString(s, e.Font, new SolidBrush(e.ForeColor), l, t);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.comboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int str1 = Convert.ToInt32(textBox1.Text);
            int str2 = Convert.ToInt32(textBox2.Text);

            Jisuan jisuan = new Jisuan(Convert.ToInt32(str1), Convert.ToInt32(str2));
            switch (comboBox1.Text)
            {

                case "+": label1.Text = jisuan.Add().ToString(); break;

            }
        }
    }
}

类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 计算器
{
    public class Jisuan
    {

        public Jisuan(int str1, int str2)
        {
            this.Number1 = str1;
            this.Number2 = str2;

        }

        public int Number1
        {

            get ;
            set;

        }

        public int Number2
        {

            get;
            set;

        }

        public int Add()
        {

            return Number1 + Number2;

        }

    }
}

  

  

时间: 2024-10-05 00:54:09

计算器的简单编写,熟悉访问器,重载的相关文章

C++ Primer 学习笔记_29_操作符重载与转换(4)--转换构造函数和类型转换运算符归纳、operator new 和 operator delete 实现一个简单内存泄漏跟踪器

C++ Primer 学习笔记_29_操作符重载与转换(4)--转换构造函数和类型转换运算符归纳.operator new 和 operator delete 实现一个简单内存泄漏跟踪器 一.转换构造函数 可以用单个实参来调用的构造函数定义从形参类型到该类型的一个隐式转换.如下: class Integral { public: Integral (int = 0); //转换构造函数 private: int real; }; Integral A = 1; //调用转换构造函数将1转换为In

注意不要编写返回引用可变对象的访问器方法

在看<Java核心技术(原书第9版中文版)>的时候,看到113页的一个警告,“注意不要编写返回引用可变对象的访问器方法”.以前没看到过,原来Date对象是可变对象.就可变对象这个概念,查了一下网,我认为可变对象,就是在类中可以不通过域更改器方法就能改变值的对象. 1 package com.csst.sort; 2 3 import java.util.Date; 4 import java.util.GregorianCalendar; 5 6 public class Employee {

Direct2D 1.1 开发笔记 特效篇(三) 简单的像素着色器特效

(转载请注明出处) 这次我们实现一个自定义的转变. 实现Direct2D 自定义转变Shader Models需要HLSL(High Level Shading Language)的实现. HLSL是Shader的一种实现,但是HLSL只能在D3D中使用,所以有点蛋疼. Shader被描述为显卡执行的小段程序,能够高效(并行)地执行. 没学过?没关系,笔者也没有,但是详细的不会在这里说明(你TM逗我(╯‵□′)╯︵┴─┴),请到官网中看看. D2D 特效能用 HLSL 的  4.0 及其以上版本

OSG:先导篇 访问器机制

一.简介 osg::NodeVisitor 类是设计模式 Visitor (观察者模式)的实现,osg::NodeVisitor 类继承自 osg::Reference 类 osg::NodeVisitor是一个虚基类,在程序中无法实例化 osg::NodeVisitor中主要有 apply():决定了遍历的方式,可以获得各个节点的属性,也可以修改节点属性 accept():关联需要访问的节点,并启动访问器进行遍历 在用户应用程序中,可以编写继承自osg::NodeVisitor的新类,再通过重

14.C#属性访问器、命名空间、pragma指令(七章7.3-7.5)

看到一些零星的知识片,今天就用自己的理解说明下,也是因为太简单了,一下就过的,也是我们日常开发中常用.留下一个脚印,当书不在手上的,也能翻出来看看.说下属性访问器.命名空间和pragma指令. 属性访问器在01.C#数据类型.排序.过滤(一章1.1-1.2)有所提到,在C#3后可以使用修饰符去修饰属性的取值和赋值,也可以使用加入一些验证,如下: 1 class Plant 2 { 3 private double Height = 0.0; 4 5 //是否需要修剪 6 public bool

Qt项目实战2:简单的图片查看器(1)

在博文http://www.cnblogs.com/hancq/p/5817108.html中介绍了使用空的Qt项目创建带有菜单栏.工具栏的界面. 这里,使用一个简单的图片查看器项目,来熟悉一下Qt的图片显示和基本操作. 该项目分为两部分: (1)实现图片的打开.关闭.居中显示.上一张/下一张切换 (2)实现图片的放大.缩小.左旋.右旋.另存为等操作 需要用的Qt类: QFileDialog QImage QPixmap QFileInfo 使用空的Qt项目创建带有菜单栏和工具栏的界面的操作参考

WorldWind源码剖析系列:地形访问器类TerrainAccessor

地形访问器类TerrainAccessor提供了对地形(高程)Terrain (elevation)访问的各种接口interface,是NltTerrainAccessor类的基类.该类类图如下. 基类TerrainAccessor提供的主要处理方法简要描述如下: protected string m_name; //地形模型名称 protected double m_north; //地形北部边界 protected double m_south; //地形南部边界 protected dou

简单编写Makefile

相信很多朋友都有过这样的经历,看着开源项目中好几页的makefile文件,不知所云.在日常学习和工作中,也有意无意的去回避makefile,能改就不写,能用ide就用ide.其实makefile并没有想象的那么难写,只要你明白了其中的原理,自己实践几次.你也可以自己写makefile,让别人对你头来羡慕的目光. 下面本人介绍一下自己的学习成果,初学阶段,欢迎大家多多指正.简单的说,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至可以在m

OC设置器与访问器以及自定义初始化方法

1.Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { NSString * _name; NSString * _sex; NSInteger  _age; CGFloat    _weight; CGFloat    _height; } - (void)sayhi; //设置器   专门给一个实例变量赋值的方法 - (void)setName:(NSString *)name; - (void