我已经使用Windows窗体制作了一个小应用程序,可以在其中输入一个十六进制数字并将其转换为十进制数字,但是当我在文本框之外单击时,我不知道如何自动格式化文本框的文本,在互联网上搜索后发现自己需要“ OnLeave”操作。当我说格式化文本时,我指的是:
Value 1: 0x00aa00bb -> 0x 00 aa 00 bb
Value 2: 45aa00CC -> 45 aa 00 cc
就像我有一个字节数组一样对它们进行格式化,因为我想使用它也将十六进制转换为浮点数,并且这种方式更具可读性。
只需使用一个简单的“ for-loop”来解析您输入的值,在每次迭代中选择2个字符并在其后添加一个空格:
private void txtHexadecimal_Leave(object sender, EventArgs e)
{
String value = txtHexadecimal.Text;
value = value.Replace(" ", String.Empty);
if (value.Length % 2 == 0)
{
String output = "";
int spliceValue_B = 0;
for (int i = 0; i < value.Length / 2; i++)
{
String sp = value.Substring(spliceValue_B, 2);
if (i != (value.Length / 2) - 1)
sp += " ";
output += sp;
spliceValue_B += 2;
}
txtHexadecimal.Text = output;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句