• tab键、快捷键、默认按钮、小数点输入的使用--四则运算


    1. 窗体Tab键的顺序设置

    选中窗体-视图-tab键顺序

    label不适用tab键

    2. 热键设置和快捷键设置

    热键:无论光标在哪都可以

    快捷键:出现界面后才能按

    添加label

    更改label的Text属性改为:热键关闭&C

    当按下Alt+C时,Close按钮获得焦点【本应该是热键关闭(C)这个label获得焦点,但是label不能使得光标停留,因此光标自动跳转到label的下一个控件上】

    当按下Alt+G时,相当于直接点击了关闭(G)按钮

    3. ComboBox

    不让用户输入,修改DropDownStyle为DropDownList

    如果想要其显示默认值,则在Form_load里面为其SelectedIndex赋值

    4. 选择默认按钮

    选中form,在其属性AccpetButton里面选择相应的按钮

    四则运算的代码

    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 Form1_Resize(object sender, EventArgs e)
            {
                //目标:点击最大化,窗口大小不变或者使得最大化的按钮失效
                //触发的是最大化按钮
                if(this.WindowState == FormWindowState.Maximized)
                {
                    //设置窗口的大小为正常大小
                    this.WindowState = FormWindowState.Normal;
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                MessageBox.Show("快捷键Alt+G,Window is closing");
                this.Close();
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("快捷键Alt+C,Window is closing");
                this.Close();
            }
    
            private void txtNum_KeyPress(object sender, KeyPressEventArgs e)
            {
                //触发该事件的控件,通过sender转换成严控件
                TextBox currentTxt = sender as TextBox;
    
                if(e.KeyChar < '0' || e.KeyChar > '9')
                {
                    //阻止输入
                    e.Handled = true;
                }
    
                //让用户能输入退格键,其ASCII是8
                if(e.KeyChar == 8)
                {
                    e.Handled = false;
                }
    
                //让用户可以输入小数点,小数点ASCII为46
                if(e.KeyChar == 46)
                {
                    //检测是否已经输入小数点,么有找到则返回-1
                    if(currentTxt.Text.IndexOf(".") == -1)
                    {
                        //小数点不能出现在第一位
                        if(currentTxt.SelectionStart > 0)
                        {
                            e.Handled = false;
                        }
                       
                    }
                    
                }
    
                //MessageBox.Show(((int)(e.KeyChar)).ToString());
    
    
            }
    
            private void btnEqual_Click(object sender, EventArgs e)
            {
                double num1 = Convert.ToDouble(txtNum1.Text);
                double num2 = Convert.ToDouble(txtNum2.Text);
                //C#特有
                switch(cboOperator.Text)
                {
                    case "+":
                        lbResult.Text = (num1 + num2).ToString();
                        break;
                    case "-":
                        lbResult.Text = (num1 - num2).ToString();
                        break;
                    case "*":
                        lbResult.Text = (num1 * num2).ToString();
                        break;
                    case "/":
                        lbResult.Text = (num1 / num2).ToString();
                        break;
                }
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                cboOperator.SelectedIndex = 0;
            }
        }
    }
    

      

  • 相关阅读:
    make 实例 一 3463
    python3 中对arrow库的总结(转发)
    impala 导出CSV 或excel
    设置虚拟机IP
    centos7 tomcat9
    eclipse 创建普通maven项目
    java log4j日志配置
    java运行jar命令提示没有主清单属性
    Java 读取 .properties 配置文件
    python 机器学习多项式回归
  • 原文地址:https://www.cnblogs.com/my-cat/p/7268212.html
Copyright © 2020-2023  润新知