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;
}
}
}

  

tab键、快捷键、默认按钮、小数点输入的使用--四则运算的更多相关文章

  1. iOS 自定义的CodeSnippets添加按下tab键切换到指定输入位置

    在需要使用tab来选中并输入内容的地方,添加: <#输入待覆盖的内容#>

  2. [No000018F]Vim自动缩进配置、原理和tab键替换空格-Vim使用技巧(4)

    一.Vim缩进介绍 在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理.在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格, ...

  3. sublime插件emmet的配置、使用及快捷键Ctrl+E修改成Tab键操作

    一.emmet在sublime中的配置与使用: 1.点击sublime text 3的图标,打开编辑器: 2.按键“ctrl+shift+p”,或者单击菜单->工具->命令面板: 3.打开 ...

  4. 将vim的UltiSnips的快捷键彻底从tab键中分离

    在我之前的<<vim之补全1>>和<<vim之补全2>>中曾经成功的将vim的supertab和UltiSnips共用一个tab键, 这样做的优点的两种 ...

  5. VS2015使用技巧 为什么我们可以输入cw后按两下tab键出现console.writeline

    镇场诗: 大梦谁觉,水月中建博客.百千磨难,才知世事无常. 今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 为什么 ...

  6. xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件

    在输入put后,再摁 TAB 键,可显示当前文件夹的文件 sftp:/home/yan> put $Recycle.Bin\              BluestacksCN\         ...

  7. C++ tab键实现自动补全输入功能

    一.简介 由于项目中写了个测试的控制台程序,是每次读取一行,即通过getline()来实现的,所以每次必须输入全路径名称,才能实现运行. 大家都觉得麻烦,就写了个tab键自动选择补全的. 目前基本可实 ...

  8. C语言 统计一串字符中空格键、Tab键、回车键、字母、数字及其他字符的个数(Ctrl+Z终止输入)

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> void main(){ , num=, blank=, ...

  9. IAR修改工程名称Tab键设置模板建立

    IAR 修改工程名称 很多时候用IAR开发都是基于已有工程模板开发的,但是工程模板的名称经常让人头疼:以下是修改办法: 从一个实例工程复制后缀名为"dep,ewd,ewp,eww" ...

随机推荐

  1. STM32(10)——窗口看门狗

    简介: 窗口看门狗(WWDG)通常被用来监测由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障.除非递减计数器的值在 T6 位 (WWDG->CR 的第六位)变成 0 ...

  2. openwrt从0开始-目录

    终于下定决心把近期的笔记整理一下.涉及到方方面面,记录自己的成长和沉淀自己所学. 预备知识:linux, 网络通信,待补充... 目录: 前言:openwrt简介 1. openwrt源码下载及编译环 ...

  3. 北京Uber优步司机奖励政策(1月23日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. 韩国KT软件NB-IOT开发记录V150(2)IOT maker通信相关

    1. 测试的AT指令,创建端口和IP地址链接 AT#IMINIT=," 开始连接 AT#IMCONN 创建object ID AT#IMOBJMETA=,," 发送数据 AT#IM ...

  5. 【原创】MyEclipse反编译添加jadclipse_3.3.0 曲折的完美解决

    本人QQ:9715234 (java屌丝一枚) 共三部分 一.下载两个文件exe和jar 1.http://nchc.dl.sourceforge.net/project/jadclipse/jadc ...

  6. 理解Python的装饰器

    看Flask文档时候看到关于cache的装饰器,有这么一段代码: def cached(timeout=5 * 60, key=’view/%s’): def decorator(f): @wraps ...

  7. 请求头(request)和响应头(response)

    说一说常见的请求头和相应头都有什么呢? 1)请求(客户端->服务端[request]) GET(请求的方式) /newcoder/hello.html(请求的目标资源) HTTP/1.1(请求采 ...

  8. 「专题训练」Machine Schedule(HDU-1150)

    题意 在一个工厂,有两台机器\(A, B\)生产产品.\(A\)机器有\(n\)种工作模式(模式\(0\),模式\(1\)--模式\(n-1\)).\(B\)机器有\(m\)种工作模式(模式\(0\) ...

  9. 用Anko和Kotlin实现Android上的对话框和警告提示(KAD 24)

    作者:Antonio Leiva 时间:Mar 9, 2017 原文链接:https://antonioleiva.com/dialogs-android-anko-kotlin/ 借助Builder ...

  10. 第5章 Linux网络编程基础

    第5章 Linux网络编程基础 5.1 socket地址与API 一.理解字节序 主机字节序一般为小端字节序.网络字节序一般为大端字节序.当格式化的数据在两台使用了不同字节序的主机之间直接传递时,接收 ...