经过几天学习,写出了一个简单的winform应用程序,贴出源码,以备不时之需。

软件启动后的界面如下图所示:

如图,该程序由6个label、8个comboBox、8个textBox和4个button组成。右边4个textBox设置ReadOnly属性为true。

软件启动时,可以让comboBox显示默认项,需要用到comboBox.SelectedIndex语句,默认情况下,comboBox.SelectedIndex="-1"(即默认不显示任何项),将-1改为0即可显示第一项。将代码放到窗体的Load事件里。代码实例:

private void MainForm_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 1;
comboBox3.SelectedIndex = 0;
comboBox4.SelectedIndex = 1;
comboBox5.SelectedIndex = 0;
comboBox6.SelectedIndex = 1;
comboBox7.SelectedIndex = 0;
comboBox8.SelectedIndex = 1;
}

  

按下确定按钮,执行转换函数,计算结果转换为string类型,并将其赋值给textBox.Text,代码实例:

        private void button4_Click(object sender, EventArgs e)
{
string str1, str2;
str1=Convert.ToString(comboBox7.SelectedItem);
str2=Convert.ToString(comboBox8.SelectedItem);
double d1, d2;
if (textBox7.Text == "")
{
textBox7.Text = "";
d1 = ;
}
else
d1 = Convert.ToDouble(textBox7.Text);
if (str1 == str2)
{
d2 = d1;
textBox8.Text = Convert.ToString(d2);
}
else
{
if(str1 == "摄氏度" && str2 == "华氏度")
{
d2=1.8*d1+;
textBox8.Text = Convert.ToString(d2);
}
if(str1 == "摄氏度" && str2 == "开氏度")
{
d2=d1+273.15;
textBox8.Text = Convert.ToString(d2);
}
if(str1 == "华氏度" && str2 == "摄氏度")
{
d2=(d1-)/1.8;
textBox8.Text = Convert.ToString(d2);
}
if(str1 == "华氏度" && str2 == "开氏度")
{
d2=(d1-)/1.8+273.15;
textBox8.Text = Convert.ToString(d2);
}
if (str1 == "开氏度" && str2 == "摄氏度")
{
d2 = d1 - 273.15;
textBox8.Text = Convert.ToString(d2);
}
if (str1 == "开氏度" && str2 == "华氏度")
{
d2 = (d1 - 273.15) * 1.8 + ;
textBox8.Text = Convert.ToString(d2);
}
}
}

使输入框禁止输入除退格键、数字键和小数点键之外的按键(温度的转换可以输入负号),防止用户输入非数字字符使程序发生错误。在keypress事件中添加相关代码,代码实例:

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != '\b' && e.KeyChar != )//允许输入退格键和小数点键
{
if ((e.KeyChar < '') || (e.KeyChar > ''))//允许输入0-9数字
{
e.Handled = true;
}
}
}

c#简单案例--单位转换器的更多相关文章

  1. [Design Pattern] Adapter Pattern 简单案例

    Adapter Pattern, 即适配器模式,用于连接两个不兼容的接口,属于结构类的设计模式. 或者叫做,转换器模式. 下面是一个转换器模式简单案例. 假设已有 AudioPlayer 专门播放 m ...

  2. Servlet请求头response应用简单案例

    Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...

  3. winform 通过 html 与swf 交互 简单案例

    在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...

  4. [Design Pattern] Front Controller Pattern 简单案例

    Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证.权限验证.记录和追踪请求等,处理后再交由分发器把请 ...

  5. [Design Pattern] Observer Pattern 简单案例

    Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式. 下面是一个观察者模式的简单案例. Observer ...

  6. [Design Pattern] Mediator Pattern 简单案例

    Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式.为了方便理解记忆,我也称其为,沟通模式. 下面是一个调解模式的简单案例 ...

  7. [Design Pattern] Iterator Pattern 简单案例

    Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式.为了方便理解记忆,我也会称其为遍历模式. 下面是一个迭代器模式的简单 ...

  8. [Design Pattern] Command Pattern 简单案例

    Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例. Stock 代表被操作的对象.Order ...

  9. [Design Pattern] Proxy Pattern 简单案例

    Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏.解耦真正提供功能的类,属于结构类的设计模式. 下面是 代理模式的一个简单案例. Image 定义接口,RealImage ...

随机推荐

  1. Linux df命令详解

    1.命令:df 2.命令功能:显示指定磁盘文件的可用空间. 3.命令参数: -a #全部文件系统列表 -h #方便阅读方式显示 -H #等于“-h”,但是计算式,1K=1000,而不是1K=1024 ...

  2. Tensorflow检验GPU是否安装成功 及 使用GPU训练注意事项

    1. 已经安装cuda但是tensorflow仍然使用cpu加速的问题 电脑上同时安装了GPU和CPU版本的TensorFlow,本来想用下面代码测试一下GPU程序,但无奈老是没有调用GPU. imp ...

  3. python Rpyc简单使用

    客户端可以直接调用服务端代码. rpycserver #!/usr/bin/env python #coding:utf-8 from rpyc.core.service import SlaveSe ...

  4. 胸片和CT断层图像是怎么来的?

    本文作者系医科大学青年教师,关注公众号"计算机视觉life"菜单栏回复"医学" 进群交流 如何得到CT断层图像? 相信小伙伴体检的时候都拍过胸片,假如哪个不幸的 ...

  5. 转:django模板标签{% for %}的使用(含forloop用法)

    django模板标签{% for %}的使用(含forloop用法)  {%  %}虽然这个是写在html中,但是这里边写的是服务端代码 在django模板标签中,{% for %} 标签用于迭代序列 ...

  6. 记录一则expdp任务异常处理案例

    环境:AIX 6.1 + Oracle 10.2.0.4 现象:在XTTS迁移测试阶段,遇到执行几个expdp的导出任务,迟迟没有返回任何信息,对应日志无任何输出,查看任务状态: SQL> se ...

  7. RMAN备份策略与异机恢复一例(续篇)

    本文是<RMAN备份策略与异机恢复一例>的续篇,继续实验验证,最终实现两个需求: 1.异机恢复临时测试的小库 2.传输归档时,实现增量传输 1.异机恢复临时测试的小库 之前异机恢复的需求已 ...

  8. HTTP请求解析过程 (简单概括)

    1.域名解析 用户输入网址,由域名系统DNS解析输入的网址: 2.TCP的3次握手 通过域名解析出的IP地址来向web服务器发起TCP连接请求,如果3次握手通过,则与web服务端建立了可靠的连接: 3 ...

  9. c#中的模态对话框和非模态对话框

    模态对话框弹出窗口阻止调用窗口的所有消息响应.只有在弹出窗口结束后调用窗口才能继续.在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值. 非模态对话框可以在弹出窗口和调用 ...

  10. Python记录1:基础知识常识

    今日内容: 一,Python的数据类型 Python一共有以下几种常见的数据类型:int(整形)  float(浮点型)  str(字符串)  list(列表)   tuple元组  dict(字典) ...