WindowsForm菜单工具栏--2016年12月6日
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日的更多相关文章
- 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 ...
- 2016年12月30日 星期五 --出埃及记 Exodus 21:25
2016年12月30日 星期五 --出埃及记 Exodus 21:25 burn for burn, wound for wound, bruise for bruise.以烙还烙,以伤还伤,以打还打 ...
- 2016年12月29日 星期四 --出埃及记 Exodus 21:24
2016年12月29日 星期四 --出埃及记 Exodus 21:24 eye for eye, tooth for tooth, hand for hand, foot for foot,以眼还眼, ...
- 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,若有 ...
- 2016年12月27日 星期二 --出埃及记 Exodus 21:22
2016年12月27日 星期二 --出埃及记 Exodus 21:22 "If men who are fighting hit a pregnant woman and she gives ...
- c++中变量声明和变量定义的区别。2016年12月6日
整个流程: 1.程序告诉cpu,程序将要使用一个变量.(暂时不一定用到,先说一下.) 2.程序告诉CPU,程序现在就要使用一个变量.(现在就用) 3.cpu按照这个变量的类型,把内存划分出几个单位(b ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- 从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击.若要允许页面重写应用程序请求验证设置,请将 httpRuntime ...
- protobuf简介
#1,简介 把某种数据结构的信息,以某种格式保存起来: 主要用于数据存储,传输协议格式. #2,优点 性能好 反观XML的缺点:解析的开销惊人,不适用于事件性能敏感的场合:为了有较好的可读性,引入一些 ...
- 新书《编写可测试的JavaScript代码 》出版,感谢支持
本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码.不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代 ...
- 物联网平台设计心得:管中窥豹之HeartBeat
前言 在写这篇文章之前,我曾对HeartBeat做过诸多的研究,也做过诸多的项目,在这些项目中,有客户端为了维持状态,而定时向服务端发送的HeartBeat:有服务端为了维持客户端连接状态而处理Hea ...
- 创意十足的web布局及交互设计
富有灵感和创意的设计与一般设计的区别在于,它不那么容易被想到和实现,一旦它被实现,一个非常有趣并且迷人的网站就诞生了. 网站几乎每天都能见到,但是不是每一个网站你都会说“真希望我也能想到过!” 设计者 ...
- Swift学习(一):自定义运算符 operator
自定义运算符仅能包含这些字符: / = - + * % < >!& | ^.~ 运算符位置: 前置运算符 prefix 中间运算符 infix 后置运算符 postfix 运算符其 ...
- 分享一个自制的 .net线程池
扯淡 由于项目需求,需要开发一些程序去爬取一些网站的信息,算是小爬虫程序吧.爬网页这东西是要经过网络传输,如果程序运行起来串行执行请求爬取,会很慢,我想没人会这样做.为了提高爬取效率,必须使用多线程并 ...
- Linq to Xml读取复杂xml(带命名空间)
前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C ...
- JDBC连接各种数据库的地址名称
oracle driverClass:oracle.jdbc.driver.OracleDriver url:jdbc:oracle:thin:@127.0.0.1:1521:dbname ...
- canvas链式弹性运动
上一课我学习了相对于鼠标为目标点的弹性运动,这次就学习了如何以上一个球为目标点的弹性运动,这次的函数比较复杂,首先分成了如下几个函数,首先定义了一个球的model,之后添加了4个球,在加载中调用了动画 ...