如何在文本框中的字节之间添加 space?

How to add space between bytes in textbox?

我有一个只获取字节的文本框,我想在每个字节之间添加 space。

到目前为止我做了什么?

    public int a=0;
    public char c;
    private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
    {
        c = e.KeyChar;
    }
    private void textBox2_TextChanged(object sender, EventArgs e)
    {
        a = textBox2.TextLength % 3;
        if (c != 0x08 && a==2)
        {
            a = textBox2.TextLength % 3;
            int selectionIndex = textBox2.SelectionStart;
            textBox2.Text = textBox2.Text.Insert(selectionIndex, " ");
            textBox2.SelectionStart = selectionIndex + 1; // restore cursor position                
        }
    }

我用这段代码添加 space 但是如果我删除一些字节它不会添加 space.

我认为 'if' 条件存在一些问题。

例如我写 'abcdef' 它添加 space 并写

ab cd ef

然后我删除 'cdef' 和 space 它在这里正常工作。 我再写一次 'cdef' 没用,结果会是这样

abcde f

我该如何解决这个问题?

我用这段代码解决了问题。

 private void textBox5_TextChanged(object sender, EventArgs e)
    {
        int selectionIndex = textBox5.SelectionStart;
        int chars = textBox5.Text.Length;
        int a = chars % 3;
        if (a == 2 && c!=0x08)
        { 
            textBox5.Text = textBox5.Text.Insert(selectionIndex, " ");
            textBox5.SelectionStart = selectionIndex + 1; // restore cursor position
        }
        if (chars > 1)
        {
            if (a == 0 && c == 0x08)
            {
                textBox5.Text = textBox5.Text.Remove(chars - 1);
                textBox5.SelectionStart = selectionIndex + 1;
            }
        }
    }