我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#使用TextBox作数据输入方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#使用TextBox作数据输入方法

笔者最近需要上位机与下位机进行数据交互,在广泛参考大佬的资料后,较为完善地使用Textbox控件进行数据输入的功能。
程序段主要功能:实现输入数据并转换成byte数组再通过串口发送至下位机。

读取TextBox控件中数据并发送


private void Botton_Float_Click(object sender, EventArgs e)
 {
     if (button1.Text == "关闭串口")
     {
         if(TextBox_Tem_Cal.Text != String .Empty) //判断数据输入框是否为空
         {
             HexMath CRC = new HexMath();
             Byte[] buffer = new Byte[6];
             
             float tem_cal_float = float.Parse(TextBox_Tem_Cal.Text);
             Byte[] float_byte_array = new Byte[4];
             float_byte_array = FloatToBytes(tem_cal_float);

             buffer[0] = float_byte_array[0];
             buffer[1] = float_byte_array[1];
             buffer[2] = float_byte_array[2];
             buffer[3 ] = float_byte_array[3];
             
             CRC.CalculateCrc16(buffer, out buffer[5], out buffer[4]);
             serialPort1.Write(buffer, 0, 6);
         }
        else
         {
             MessageBox.Show("校准数据不能为空");
         }
     }
     else
     {
         MessageBox.Show("串口未打开");
     }
 }

限制TextBox控件输入数据


private void TextBox_Tem_Cal_KeyPress(object sender, KeyPressEventArgs e)//在TextBox中按下按键时触发事件,保证只能输入数字
{
    //判断按键是不是要输入的类型。
    if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
        e.Handled = true;

    //小数点的处理。
    if ((int)e.KeyChar == 46)                           //小数点
    {
        if (TextBox_Tem_Cal.Text.Length <= 0)
            e.Handled = true;   //小数点不能在第一位
        else
        {
            float f;
            float oldf;
            bool b1 = false, b2 = false;
            b1 = float.TryParse(TextBox_Tem_Cal.Text, out oldf);
            b2 = float.TryParse(TextBox_Tem_Cal.Text + e.KeyChar.ToString(), out f);
            if (b2 == false)
            {
                if (b1 == true)
                    e.Handled = true;
                else
                    e.Handled = false;
            }
        }
    }
}

Float 与 byte数组 互转


private static byte[] FloatToBytes(float data) 
{
    unsafe
    {
        byte* pdata = (byte*)&data;
        byte[] byteArray = new byte[sizeof(float)];
        for (int i = 0; i < sizeof(float); ++i)
            byteArray[i] = *pdata++;
        return byteArray;
    }
}
private static float BytesToFloat(byte[] data)
{
    unsafe
    {
        float a = 0.0F;
        byte i;
        byte[] x = data;
        void* pf;
        fixed (byte* px = x)
        {
            pf = &a;
            for (i = 0; i < data.Length; i++)
            {
                *((byte*)pf + i) = *(px + i);
            }
        }
        return a;
    }
}

程序参考:

TextBox输入限制
C# byte与float转换

到此这篇关于C#使用TextBox作数据输入方法的文章就介绍到这了,更多相关C# TextBox数据输入内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#使用TextBox作数据输入方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在C#中使用TextBox作数据输入方法

怎么在C#中使用TextBox作数据输入方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。读取TextBox控件中数据并发送private void Botto
2023-06-15

C# 中怎么利用TextBox输入数字

C# 中怎么利用TextBox输入数字,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、重写键盘事件OnKeyPress()键盘输入的字符可以通过重写c# te
2023-06-17

Asp.net之TextBox只允许输入数字的方法总结

在ASP.NET中,可以通过以下几种方法来限制TextBox只允许输入数字:1. 使用RegularExpressionValidator控件:可以通过设置ValidationExpression属性来限制只允许输入数字。例如:```asp
2023-08-17

c语言输入3个数输出最大值的方法

小编给大家分享一下c语言输入3个数输出最大值的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!方法:首先使用scanf()接收从键盘输入的三个数;然后使用“if else”语句比较三个数的大小,获得最大值;最后使用pri
2023-06-14

Java中常用数据类型的输入输出方法是什么

这篇文章主要介绍Java中常用数据类型的输入输出方法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、Char型这里说的char型指的是只输入一个字符的情况。1.1 输入格式:import java.io.I
2023-06-22

如何使用C语言输入输出printf、scanf函数

本篇内容主要讲解“如何使用C语言输入输出printf、scanf函数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用C语言输入输出printf、scanf函数”吧!基本输入输出若需要使用输
2023-06-15

C#操作Access数据库的方法

这篇文章主要讲解了“C#操作Access数据库的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#操作Access数据库的方法”吧!C#操作Access数据库的基础知识1.通过ADO.N
2023-06-17

python输入多个数据的方法是什么

在Python中,可以使用input()函数来获取用户的输入。input()函数会将用户输入的数据作为字符串返回。如果需要输入多个数据,可以使用split()函数将字符串分割成多个子字符串,然后将每个子字符串转换为相应的数据类型。下面是一个
2023-10-11

在 PHP 中使用 ob_start 方法缓冲输出数据

我们将使用 ob_start 方法初始化一个缓冲区,然后输出一个简单的字符串,该字符串将被自动缓冲;然后,我们将使用 ob_get_contents 方法从缓冲区中获取数据,然后将其打印出来。我们还将初始化一个缓冲区 ob_start 方法
在 PHP 中使用 ob_start 方法缓冲输出数据
2024-02-27

python输入数据判断数据类型的方法是什么

在Python中,可以使用`type()`函数来判断数据的类型。例如:```pythondata = input("请输入数据:")data_type = type(data)print("数据类型为:", data_type)```上述代
2023-08-11

使用scanf函数的C语言输入格式

C语言是一门广泛应用于编程领域的语言,它具有简单、灵活、高效的特点。在C语言中,我们经常会使用scanf函数来进行输入操作,它可以让用户输入数据并赋值给变量。本文将介绍scanf函数的使用方法,并提供具体的代码示例。scanf函数的格式化
使用scanf函数的C语言输入格式
2024-02-25

vue使用directive限制表单输入整数、小数的方法

这篇文章主要介绍了vue使用directive限制表单输入整数,小数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-14

C#数据库查询和操作方法

本篇内容主要讲解“C#数据库查询和操作方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#数据库查询和操作方法”吧!一:C#数据库查询之数据库连接代码:SqlConnectionobjSqlC
2023-06-18

关于C++中数据16进制输出的方法

本文主要介绍了关于C++中数据16进制输出的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-09

C#使用泛型方法实现操作不同数据类型的数组

泛型方法是一种强大的机制,允许C#操作不同数据类型的数组。通过使用类型参数,泛型方法变得可重用、通用和类型安全。使用泛型方法,我们可以实现各种操作,例如数组排序、搜索和转换。遵循创建泛型方法的步骤,包括使用类型参数、访问元素类型和使用类型约束,我们可以简化代码并减少错误。通过泛型方法,我们可以创建适用于广泛应用程序的通用代码。
C#使用泛型方法实现操作不同数据类型的数组
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录