亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#使用TextBox作數(shù)據(jù)輸入方法

 更新時間:2021年06月01日 11:17:49   作者:怪都督  
筆者最近需要上位機與下位機進行數(shù)據(jù)交互,在廣泛參考大佬的資料后,較為完善地使用Textbox控件進行數(shù)據(jù)輸入的功能。感興趣的可以了解一下

筆者最近需要上位機與下位機進行數(shù)據(jù)交互,在廣泛參考大佬的資料后,較為完善地使用Textbox控件進行數(shù)據(jù)輸入的功能。
程序段主要功能:實現(xiàn)輸入數(shù)據(jù)并轉換成byte數(shù)組再通過串口發(fā)送至下位機。

讀取TextBox控件中數(shù)據(jù)并發(fā)送

private void Botton_Float_Click(object sender, EventArgs e)
 {
     if (button1.Text == "關閉串口")
     {
         if(TextBox_Tem_Cal.Text != String .Empty) //判斷數(shù)據(jù)輸入框是否為空
         {
             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("校準數(shù)據(jù)不能為空");
         }
     }
     else
     {
         MessageBox.Show("串口未打開");
     }
 }

限制TextBox控件輸入數(shù)據(jù)

private void TextBox_Tem_Cal_KeyPress(object sender, KeyPressEventArgs e)//在TextBox中按下按鍵時觸發(fā)事件,保證只能輸入數(shù)字
{
    //判斷按鍵是不是要輸入的類型。
    if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
        e.Handled = true;

    //小數(shù)點的處理。
    if ((int)e.KeyChar == 46)                           //小數(shù)點
    {
        if (TextBox_Tem_Cal.Text.Length <= 0)
            e.Handled = true;   //小數(shù)點不能在第一位
        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數(shù)組 互轉

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作數(shù)據(jù)輸入方法的文章就介紹到這了,更多相關C# TextBox數(shù)據(jù)輸入內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#動態(tài)創(chuàng)建button按鈕的方法實例詳解

    C#動態(tài)創(chuàng)建button按鈕的方法實例詳解

    這篇文章主要介紹了C#動態(tài)創(chuàng)建button按鈕的方法實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • C#中各種類型集合的特點詳解

    C#中各種類型集合的特點詳解

    這篇文章主要介紹了概述C#中各種類型集合的特點,這些集合通常位于?System.Collections?和?System.Collections.Generic?命名空間中,下面我將概述C#中幾種常用的集合類型及其特點,需要的朋友可以參考下
    2024-08-08
  • C#針對xml基本操作及保存配置文件應用實例

    C#針對xml基本操作及保存配置文件應用實例

    這篇文章主要介紹了C#針對xml基本操作及保存配置文件應用實例,包括了針對XML文件的定義、初始化、創(chuàng)建、以及增刪改查等基礎操作,并配有詳細的實例加以說明,需要的朋友可以參考下
    2014-10-10
  • C#實現(xiàn)簡單的3DES加密解密功能示例

    C#實現(xiàn)簡單的3DES加密解密功能示例

    這篇文章主要介紹了C#實現(xiàn)簡單的3DES加密解密功能,結合實例形式分析了C#實現(xiàn)3DES加密解密的定義、使用等具體步驟與相關操作技巧,需要的朋友可以參考下
    2017-08-08
  • 基于C#方法重載的總結詳解

    基于C#方法重載的總結詳解

    本篇文章是對C#中方法重載進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C# 獲取 PC 序列號的方法示例

    C# 獲取 PC 序列號的方法示例

    這篇文章主要介紹了C# 獲取 PC 序列號的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • C#實現(xiàn)身份證驗證功能的示例代碼

    C#實現(xiàn)身份證驗證功能的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)身份證驗證功能,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#使用DateAndTime.DateDiff實現(xiàn)計算年齡

    C#使用DateAndTime.DateDiff實現(xiàn)計算年齡

    這篇文章主要為大家詳細介紹了C#如何使用DateAndTime.DateDiff實現(xiàn)根據(jù)生日計算年齡,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2024-01-01
  • vs 中C#項目讀取JSON配置文件的方法

    vs 中C#項目讀取JSON配置文件的方法

    這篇文章主要介紹了vs中 C#項目讀取JSON配置文件的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 在C#中global關鍵字的作用及其用法

    在C#中global關鍵字的作用及其用法

    global 是 C# 2.0 中新增的關鍵字,理論上說,如果代碼寫得好的話,根本不需要用到它,但是不排除一些特別的情況,比如修改別人的代碼,本文僅舉例說明。
    2016-03-03

最新評論