ContextMenuStrip

  添加控件后可在其他空间属性中进行绑定


MenuStrip
       设置热键:在编辑的时候输入(&F)
       设置快捷键:选中菜单项--右键属性--ShortCutKeys--设置快捷键
       设置分隔线:在输入的时候输入减号(-)


StatusStrip
       状态栏,可以添加按钮,文本等


ToolStrip
       在ToolStripContainer控件内可被拖动修改位置


ToolStripContainer
       帮助ToolStrip布局控件


计算器

/// <summary>
        /// 根据点击的控件输入数字
        /// </summary>
        /// <param name="e"></param>
        private void shuru(string str)
        {
            "||qk){
                textBox1.Text = str;
                qk = false;
            }
            else
                textBox1.Text += str;
        }
        /// <summary>
        /// 输入数字
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void b0_Click(object sender, EventArgs e)
        {
            shuru((sender as Control).Text);
        }
        /// <summary>
        /// 小数点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dian_Click(object sender, EventArgs e)
        {
            if(!textBox1.Text.Contains("."))
                textBox1.Text+=".";
        }
        /// <summary>
        /// 退格
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void back_Click(object sender, EventArgs e)
        {
            )
                textBox1.Text = ";
            else
                textBox1.Text = textBox1.Text.Substring(, textBox1.TextLength-);
        }
        /// <summary>
        /// 根据按下的按键键入计算符号
        /// </summary>
        /// <param name="e"></param>
        private void jis(string str)
        {
            if (qk) {
                if (shang != str) {
                    textBox2.Text = textBox2.Text.Substring(, textBox2.TextLength - ) + str;
                    shang = str;
                }
            }
            else
            {
                qk = true;
                dq = Convert.ToDecimal(textBox1.Text);
                if (textBox2.Text == "")
                {
                    jieguo = Convert.ToDecimal(textBox1.Text);
                    textBox2.Text = textBox1.Text + str;
                    shang = str;
                }
                else
                {
                    js();
                    )
                        textBox2.Text += textBox1.Text + str;
                    else
                        textBox2.Text += "(" + textBox1.Text + ")" + str;
                    textBox1.Text = jieguo.ToString();
                    shang = str;
                }
            }
        }
        //标记是否点击运算符号
        bool qk = false;
        //保存结果
        ;
        ;
        //上一步操作
        string shang = "";
        /// <summary>
        /// 运算符操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void jia_Click(object sender, EventArgs e)
        {
            jis((sender as Control).Text);
        }
        /// <summary>
        /// 根据上一次运算符操作
        /// </summary>
        private void js()
        {
            try {
            switch(shang)
            {
                case "+":
                    jieguo = jieguo + dq;
                    break;
                case "-":
                    jieguo = jieguo - dq;
                    break;
                case "*":
                    jieguo = jieguo * dq;
                    break;
                case "/":
                    jieguo = jieguo / dq;
                    break;
            }

            }
            "; }
        }
        /// <summary>
        /// 等号
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button20_Click(object sender, EventArgs e)
        {
            js();
            textBox2.Text = "";
            textBox1.Text = jieguo.ToString();
        }

        private void button20_KeyPress(object sender, KeyPressEventArgs e)
        {
            switch(e.KeyChar)
            {
                case '.':
                    if (!textBox1.Text.Contains("."))
                        textBox1.Text += ".";
                    break;
                case (char)Keys.Back:
                    )
                        textBox1.Text = ";
                    else
                        textBox1.Text = textBox1.Text.Substring(, textBox1.TextLength - );
                    break;
                :
                    js();
                    textBox2.Text = "";
                    textBox1.Text = jieguo.ToString();
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                ':
                    shuru(");
                    break;
                case '+':
                    jis("+");
                    break;
                case '-':
                    jis("-");
                    break;
                case '*':
                    jis("*");
                    break;
                case '/':
                    jis("/");
                    break;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text = textBox2.Text = "";
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox1.SelectionStart = textBox1.Text.Length;
            textBox2.SelectionStart = textBox2.Text.Length;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            textBox1.SelectionStart = textBox1.Text.Length;
        }

一版

WindowsForm菜单工具栏--2016年12月6日的更多相关文章

  1. 2016年12月31日 星期六 --出埃及记 Exodus 21:26

    2016年12月31日 星期六 --出埃及记 Exodus 21:26 "If a man hits a manservant or maidservant in the eye and d ...

  2. 2016年12月30日 星期五 --出埃及记 Exodus 21:25

    2016年12月30日 星期五 --出埃及记 Exodus 21:25 burn for burn, wound for wound, bruise for bruise.以烙还烙,以伤还伤,以打还打 ...

  3. 2016年12月29日 星期四 --出埃及记 Exodus 21:24

    2016年12月29日 星期四 --出埃及记 Exodus 21:24 eye for eye, tooth for tooth, hand for hand, foot for foot,以眼还眼, ...

  4. 2016年12月28日 星期三 --出埃及记 Exodus 21:23

    2016年12月28日 星期三 --出埃及记 Exodus 21:23 But if there is serious injury, you are to take life for life,若有 ...

  5. 2016年12月27日 星期二 --出埃及记 Exodus 21:22

    2016年12月27日 星期二 --出埃及记 Exodus 21:22 "If men who are fighting hit a pregnant woman and she gives ...

  6. c++中变量声明和变量定义的区别。2016年12月6日

    整个流程: 1.程序告诉cpu,程序将要使用一个变量.(暂时不一定用到,先说一下.) 2.程序告诉CPU,程序现在就要使用一个变量.(现在就用) 3.cpu按照这个变量的类型,把内存划分出几个单位(b ...

  7. 2016年12月26日 星期一 --出埃及记 Exodus 21:21

    2016年12月26日 星期一 --出埃及记 Exodus 21:21 but he is not to be punished if the slave gets up after a day or ...

  8. 2016年12月25日 星期日 --出埃及记 Exodus 21:20

    2016年12月25日 星期日 --出埃及记 Exodus 21:20 "If a man beats his male or female slave with a rod and the ...

  9. 2016年12月24日 星期六 --出埃及记 Exodus 21:19

    2016年12月24日 星期六 --出埃及记 Exodus 21:19 the one who struck the blow will not be held responsible if the ...

随机推荐

  1. 从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。

    说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击.若要允许页面重写应用程序请求验证设置,请将 httpRuntime  ...

  2. protobuf简介

    #1,简介 把某种数据结构的信息,以某种格式保存起来: 主要用于数据存储,传输协议格式. #2,优点 性能好 反观XML的缺点:解析的开销惊人,不适用于事件性能敏感的场合:为了有较好的可读性,引入一些 ...

  3. 新书《编写可测试的JavaScript代码 》出版,感谢支持

    本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码.不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代 ...

  4. 物联网平台设计心得:管中窥豹之HeartBeat

    前言 在写这篇文章之前,我曾对HeartBeat做过诸多的研究,也做过诸多的项目,在这些项目中,有客户端为了维持状态,而定时向服务端发送的HeartBeat:有服务端为了维持客户端连接状态而处理Hea ...

  5. 创意十足的web布局及交互设计

    富有灵感和创意的设计与一般设计的区别在于,它不那么容易被想到和实现,一旦它被实现,一个非常有趣并且迷人的网站就诞生了. 网站几乎每天都能见到,但是不是每一个网站你都会说“真希望我也能想到过!” 设计者 ...

  6. Swift学习(一):自定义运算符 operator

    自定义运算符仅能包含这些字符: / = - + * % < >!& | ^.~ 运算符位置: 前置运算符 prefix 中间运算符 infix 后置运算符 postfix 运算符其 ...

  7. 分享一个自制的 .net线程池

    扯淡 由于项目需求,需要开发一些程序去爬取一些网站的信息,算是小爬虫程序吧.爬网页这东西是要经过网络传输,如果程序运行起来串行执行请求爬取,会很慢,我想没人会这样做.为了提高爬取效率,必须使用多线程并 ...

  8. Linq to Xml读取复杂xml(带命名空间)

    前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C ...

  9. JDBC连接各种数据库的地址名称

    oracle    driverClass:oracle.jdbc.driver.OracleDriver    url:jdbc:oracle:thin:@127.0.0.1:1521:dbname ...

  10. canvas链式弹性运动

    上一课我学习了相对于鼠标为目标点的弹性运动,这次就学习了如何以上一个球为目标点的弹性运动,这次的函数比较复杂,首先分成了如下几个函数,首先定义了一个球的model,之后添加了4个球,在加载中调用了动画 ...