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;
}
}
}
tab键、快捷键、默认按钮、小数点输入的使用--四则运算的更多相关文章
- iOS 自定义的CodeSnippets添加按下tab键切换到指定输入位置
在需要使用tab来选中并输入内容的地方,添加: <#输入待覆盖的内容#>
- [No000018F]Vim自动缩进配置、原理和tab键替换空格-Vim使用技巧(4)
一.Vim缩进介绍 在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理.在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格, ...
- sublime插件emmet的配置、使用及快捷键Ctrl+E修改成Tab键操作
一.emmet在sublime中的配置与使用: 1.点击sublime text 3的图标,打开编辑器: 2.按键“ctrl+shift+p”,或者单击菜单->工具->命令面板: 3.打开 ...
- 将vim的UltiSnips的快捷键彻底从tab键中分离
在我之前的<<vim之补全1>>和<<vim之补全2>>中曾经成功的将vim的supertab和UltiSnips共用一个tab键, 这样做的优点的两种 ...
- VS2015使用技巧 为什么我们可以输入cw后按两下tab键出现console.writeline
镇场诗: 大梦谁觉,水月中建博客.百千磨难,才知世事无常. 今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 为什么 ...
- xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件
在输入put后,再摁 TAB 键,可显示当前文件夹的文件 sftp:/home/yan> put $Recycle.Bin\ BluestacksCN\ ...
- C++ tab键实现自动补全输入功能
一.简介 由于项目中写了个测试的控制台程序,是每次读取一行,即通过getline()来实现的,所以每次必须输入全路径名称,才能实现运行. 大家都觉得麻烦,就写了个tab键自动选择补全的. 目前基本可实 ...
- C语言 统计一串字符中空格键、Tab键、回车键、字母、数字及其他字符的个数(Ctrl+Z终止输入)
//凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> void main(){ , num=, blank=, ...
- IAR修改工程名称Tab键设置模板建立
IAR 修改工程名称 很多时候用IAR开发都是基于已有工程模板开发的,但是工程模板的名称经常让人头疼:以下是修改办法: 从一个实例工程复制后缀名为"dep,ewd,ewp,eww" ...
随机推荐
- python闭包的概念及使用
闭包:在函数里定义了另外一个函数(函数嵌套),内函数里运用了外函数的变量,外函数返回内函数的函数引用(函数名). nonlocal 的使用:闭包内部函数可直接调用外部函数的变量,如果修改需要使用non ...
- 简单复习一下ArrayList的扩容原理
刚刚跟几个好朋友喝完小酒回家,简单大概复习一下ArrayList的扩容原理,由于头有点小晕,就只大概说一下扩容的原理哈: 首先ArrayList实现了List接口,继承了AbstractList,大家 ...
- mybatis入门(二):增删改查
mybatis的原理: 1.mybatis是一个持久层框架,是apache下的顶级项目 mybatis托管到googlecode下,目前托管到了github下面 2.mybatis可以将向prepar ...
- 版本控制工具——Git的拓展使用
一.使用Github 通过前面两节已经配置了SSH Key与Github上的相关设置,接下来介绍常用的使用 使用Fork克隆一份到本地仓库 之后可以在自己的仓库克隆一份到本地 git clone gi ...
- Awesome Django
Awesome Django If you find Awesome Django useful, please consider donating to help maintain it. ...
- 这样的SQL居然能执行
select /*! distinct cities.id from cities join countries on cities.id = countries.id limit 10 */;
- Net Core学习笔记
Net Core 官网:https://dotnet.github.io/ Net Core Api: https://docs.microsoft.com/en-us/dotnet/api/?vie ...
- Jmeter接口测试(二)工具介绍
一.Jmeter文件目录介绍 ◆ bin:可执行文件目录 Bin 目录文件 jmeter.bat:windows 的启动文件 jmeter.log:日志文件 jmeter.sh:linux 的启动文件 ...
- Unity初探之黑暗之光(1)
Unity初探之黑暗之光(1) 1.镜头拉近 public float speed=10f;//镜头的移动速度 ;//镜头的结束位置 // Update is called once per fram ...
- ajax的$.get()方法和tomcat服务器的交互
AJAX AJAX = 异步 JavaScript 和 XML. AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. Ajax get()方法 定义和用法 $.get() 方法 ...