Как прилагать пустое место?

Я работаю с C# и нуждаюсь в том, чтобы приложить место в тексте Descripción.

То, что делает метод, так это следующее: показав себе формуляр поиски, не кликая в поле ввода описания, возможно делать пульсации в клавиатуре и я иду digitando то, что я хочу искать (как CAMISETA):

private void frmBusqueda_KeyUp(object sender, KeyEventArgs e)
    {
        if ((e.KeyCode >= Keys.A & e.KeyCode <= Keys.Z) | (e.KeyCode >= Keys.NumPad0 & e.KeyCode <= Keys.NumPad9))
        {
            var nTecla = e.KeyCode;
            if (e.KeyCode >= Keys.NumPad0 & e.KeyCode <= Keys.NumPad9)
                nTecla = e.KeyCode - 48;
            else
            {
                this.txtDescripcion.Text = this.txtDescripcion.Text.Trim() + nTecla;
                this.txtDescripcion.SelectionStart = this.txtDescripcion.Text.Trim().Length;
            }
        }

        if (e.KeyCode == Keys.Decimal)
            this.txtDescripcion.Text = this.txtDescripcion.Text.Trim() + ".";

        if(e.KeyCode == Keys.Space)
            this.txtDescripcion.Text = this.txtDescripcion.Text + " ";

        if ((e.KeyData == Keys.Back) & (this.txtDescripcion.Text.Trim().Length) > 0)
        {
            this.txtDescripcion.Text = this.txtDescripcion.Text.Trim().Substring(0, this.txtDescripcion.Text.Trim().Length - 1);
            this.txtDescripcion.SelectionStart = this.txtDescripcion.Text.Trim().Length;
        }
    }

Пример: я пишу CAMISETA PAT PRIMO, где я нуждаюсь в том, чтобы поместить место.

То, что этот код делает, состоит в том, чтобы конвертировать то, что я только что ввел в компьютер в CAMISETAPATPRIMO (без места).

Почему я удаляю место?

3
задан 14.01.2017, 01:16
0 ответов

Следующее решение, которое прилагает тебе место:

if(e.KeyCode == Keys.Space)
    this.txtDescripcion.Text = this.txtDescripcion.Text + " ";

... несомненно функционируй правильно.

Проблема, - когда потом entrás следующие символы, тебя всегда делает его одним Trim() в контент textbox раньше прилагать следующий характер, как это ты делаешь здесь например:

if (e.KeyCode == Keys.Decimal)
    this.txtDescripcion.Text = this.txtDescripcion.Text.Trim() + ".";

Этот Trim() сними любое место в конце концов перед тем, как добавлять точку.

Чтобы решать твою проблему, ты должен изменять код, чтобы не делать trims в каждый раз, когда ты прилагаешь характер.

3
ответ дан 03.12.2019, 17:41
  • 1
    Функционировал problemita, сейчас дело в том, что когда цифра nú он не помещает морских окуней в descripció n. –  12.01.2017, 21:31
  • 2
    Это что-то различное. Он, потому что ты if-else не está расположенный в порядке правильно. Если клавиатура - dí gito, войди в if и отпусти else. Если ты снимаешь else funcionará. Но ponié ndole breakpoints в có я говорю, все эти problemitas решаются fá cilmente. –  12.01.2017, 21:34

Теги

Похожие вопросы