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. 回顾爬虫的时候的一些小TIPS

    1 json.dumps的时候默认会用ascii 所以在写入文件的时候会需要用到的指令变为json.dumps(a,ensuer_ascii=False),这样将禁止转换为ascii 然后再写入的时候 ...

  2. 20145207 myeclipse测试

    实验博客  

  3. Caliburn.Micro 杰的入门教程4,事件聚合器

    Caliburn.Micro 杰的入门教程1(原创翻译)Caliburn.Micro 杰的入门教程2 ,了解Data Binding 和 Events(原创翻译)Caliburn.Micro 杰的入门 ...

  4. YARN 与Maprd 配置

    <!-- yarn 配置 --> <!-- yarn-sit.xml --> <property> <name>yarn.resourcemanager ...

  5. NB-IOT连接移动onenet平台流程

    1. 先创建账号,然后创建产品 2. 创建设备,用AT+CGSN和AT+CIMI查询NB-IOT的IMEI和IMSI填写上去. 3. 创建好的设备.

  6. Hive支持行级update、delete时遇到的问题

    Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置.要想支持行级insert.update.delete,需要配置Hive支持事务.(行级的insert好像不配置也能运 ...

  7. Ruby 基础教程1-4

    1.对象 数值对象 字符串对象 数组对象,散列对象 正则表达式对象 时间对象 文件对象 符号对象 2.类 Numeric String Array Hash Regexp File Symbol 3. ...

  8. String、StringBuffer、StringBuilder的区别和解析

    1.三个类之间的关系 他们都是通过字符数组来实现的,继承关系 String:字符串常量,不可变类 StringBuffer:字符串变量,可变类,线程安全 StringBuilder:字符串变量,可变类 ...

  9. 使用jenkins构建一个maven项目

    1.登陆到jenkins首页,创建项目-->选择maven-->输入项目名称-->选择项目类型 2.进入项目配置:{先写一下项目描述和设置下保留的历史构建,然后向下拉} 找到源吗管理 ...

  10. Java开发工程师(Web方向) - 02.Servlet技术 - 第3章.Servlet应用

    第3章.Servlet应用 转发与重定向 转发:浏览器发送资源请求到ServletA后,ServletA传递请求给ServletB,ServletB生成响应后返回给浏览器. 请求转发:forward: ...