现在winforms的textBox里面是十六进制的数据,写一个把这些数据放到数组的程序
时间: 2024-09-12 19:04:16 浏览: 37
在Windows Forms中,如果你有一个TextBox控件显示了十六进制数据,并想将这些数据转换成字节数组,你可以按照以下步骤编写一个简单的C#程序:
```csharp
using System;
using System.Text;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 假设txtHexData是你的TextBox控件
textBox1.DataBindings.Add("Text", this, "hexData");
hexData = Convert.FromHexString(textBox1.Text);
}
private byte[] hexData;
private void ConvertToByteArray(string hexString)
{
int len = hexString.Length / 2; // 十六进制每两位对应一个字节
byte[] byteArray = new byte[len];
for (int i = 0; i < len; i++)
{
byteArray[i] = Convert.ToByte(hexString.Substring(2 * i, 2), 16); // 提取并转换每个字节
}
return byteArray;
}
private void btnConvert_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
byte[] result = ConvertToByteArray(textBox1.Text);
// 这里可以对result数组做进一步操作,例如存储到其他地方
Console.WriteLine("Hex data converted to array: {0}", string.Join(",", result));
}
else
{
MessageBox.Show("Please enter hexadecimal data in the TextBox.");
}
}
// 其他Form1的相关事件和成员可以省略
}
// 为了使用这个例子,你需要在窗体设计视图中添加一个TextBox(textBox1),一个Button(btnConvert),并绑定TextBox的Text属性到一个名为"hexData"的字段。
```
在这个程序中,当用户点击按钮时,会从TextBox获取文本,将其转换为字节数组,并显示结果。请注意,实际应用中可能需要处理异常情况和其他细节。
阅读全文