注意:该作者博客已迁移至https://buxianshan.xyz

进制转换器(C# WPF)

源文件下载

  • GitHub https://github.com/BuXianShan/HexBinDecOct/
  • CSDN https://download.csdn.net/download/qq_43479622/11263288

使用VS创建C# WPF程序

在主窗口添加4个Label和4个TextBox(分别命名为TB1-TB4)

在一个TextBox中输入数字,其它TextBox的内容也要同步变化,所以为每个TextBox创建TextChanged事件,只要该TextBox的内容发生变化就会触发该事件。(双击事件类型即可自动创建)

TextChanged事件如下:
首先判断该控件是否处于聚焦状态(说明正在该处输入),如果是,再进行进制转换。如果该控件不处于聚焦状态(也就是没有在该TextBox中输入,而是其它函数修改了它的内容),就不进行转换。

以第三个TextBox为例:

C# Convert类中提供了各种类型转换方法(Convert Class 官方文档)
下面使用的的是Convert类中进制转换的函数。

private void TB3_TextChanged(object sender, TextChangedEventArgs e){if (TB3.IsFocused)//判断是否聚焦{if (TB3.Text == "")//判断是否已经为空{TB1.Text = "";TB2.Text = "";TB4.Text = "";}else{try{TB1.Text = Convert.ToString(Convert.ToInt32(TB3.Text), 2);//十进制转二进制TB2.Text = Convert.ToString(Convert.ToInt32(TB3.Text), 8);//十进制转八进制TB4.Text = Convert.ToString(Convert.ToInt32(TB3.Text), 16).ToUpper();//十进制转十六进制,字母大写}catch (Exception ex)//异常检测{MessageBox.Show(ex.Message + "\n请重新输入!", "输入有误!");Error();}}}}

最终效果


使用了一个图标,来自easyicon

本来是想练习一下进制转换算法,写了个递归函数,可以把十进制整数转化为2到16进制

public string result = "";//保存转换结果的字符串
public void DecToConvert(int dec, int n)//dec是要转换的十进制数字,转换为n进制(2-16){int tem;if (dec < n){tem = dec;}else{tem = dec % n;dec = dec / n;DecToConvert(dec, n);}switch (tem){case 10: result += 'A'; break;case 11: result += 'B'; break;case 12: result += 'C'; break;case 13: result += 'D'; break;case 14: result += 'E'; break;case 15: result += 'F'; break;default: result += tem; break;}}

进制转换器(C# WPF)相关推荐

  1. 用java编写进制转换器_JAVA 简单进制转换器

    JAVA作业写了个进制转换器...写出来的东西还蛮怪的 /* * Author:graykido * Coding:GBK * */ package Caculater; import javafx. ...

  2. java进制转换界面,java进制转换器 图形用户界面 十进制及其相反数诀别转化为二,四,八,十六进制...

    java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制 package com.rgy.Test; import java.awt.Color; import java.aw ...

  3. android进制之间的转换器,一个Android平台的16进制转换器

    <一个Android平台的16进制转换器>由会员分享,可在线阅读,更多相关<一个Android平台的16进制转换器(1页珍藏版)>请在人人文库网上搜索. 1.一个An droi ...

  4. C++ 进制转换器:二进制、十进制、十六进制

    做了一个C++进制转换器,支持10转2.10转16.2转10.16转10.10转2.2转16,解析都写在代码里哦! #include <bits/stdc++.h> using names ...

  5. 进制转换器java程序_Java实现复杂的进制转换器功能示例

    本文实例讲述了Java实现复杂的进制转换器功能.分享给大家供大家参考,具体如下: 这是用java写的进制转换器,包括10.2.8.16进制之间共12种的相互转换.输入一个要转换的数之后,按提示选择所采 ...

  6. 进制转换器的c代码实现

    1.很久没有更新博客了 这次想要记录分享一下在这段学习过程中实现的进制转换器 c语言代码 里面运用到了一些数据结构和递归的相关知识 也算是一个简单的综合运用吧 2.核心思想是将一切进制转换为10进制 ...

  7. 练习:自撸整数进制转换器(二、八、十六进制转十进制)

    我的CSDN主页 My Python 学习个人备忘录 我的HOT博 整数进制转换器(二.八.十六进制转十进制) 题目 代码运行效果 我的解题思路 转换器完整代码 题目   跟着寒佬整数进制转换,生发自 ...

  8. Shell脚本之进制转换器

    一.需求说明   计算IP地址我们经常需要将十进制和二进制数值之间进行转换,实际上进制之间转换通过bc命令就可以完成.此进制转换器shell脚本就是利用bc进制转换功能来实现我们的需求,并做了一些完善 ...

  9. 万能进制转换器——栈应用

    万能进制转换器--栈应用 前言 一.设计思路 1.字符串和数字通过ASCII码来转换 2.先将用户输入的数字转换为10进制,再由10进制转为其他进制 二.具体步骤的实现 1.准备步骤 1.执行步骤 ( ...

最新文章

  1. 机器学习类别/标称(categorical)数据处理:目标编码(target encoding)
  2. 计算机视觉——自动识别车牌简介
  3. 静态Web开发 JQuery
  4. 基于 HTML5 WebGL 的 3D 智慧隧道漫游巡检
  5. W3C 宣布:WebAuthn 成为正式 Web 标准
  6. Myeclipse学习总结(4)——Eclipse常用开发插件
  7. Rocket - config - DefaultConfig
  8. Navicat连接Mysql报错:Client does not support authentication protocol requested by server;
  9. 迅雷bolt界面引擎
  10. 物理综合 | congestion 报告解读
  11. 乒乓球比赛赛程_2020年乒乓球比赛赛事赛程表(优个网独家整理)
  12. Maven_Maven简介
  13. Centos用speedtest.py测试服务器(国外)上传下载速度
  14. pdfbox2.0.1将pdf转图片
  15. python 线程退出方法
  16. 2004.8.19日--全国3D第2期
  17. 计算机电路中bga是什么,bga是什么
  18. Android listview使用适配器时出现 Attempt to invoke virtual method xxxxxxxx on a null object reference问题解决方法
  19. 存储之Block-MultiQueue机制详解(二)
  20. 【渝粤教育】电大中专电商运营实操 (21)作业 题库

热门文章

  1. Qt 无法打开包括文件:“QGLWidget”: No such file or directory
  2. access 表合并
  3. 【signal】傅里叶分析和FFT蝶形算法
  4. 最近10年内出现的计算机术语,记常见的计算机术语(不停更新)
  5. VB.NET CHART
  6. idea 弹出Server's certificate is not trusted 解决方法
  7. python 关键字驱动_python selenium 关键字驱动开源
  8. 方差代价函数到梯度下降函数
  9. http无状态还是web应用无状态
  10. 太难了!关于程序员的43个梗,你知道多少呢