Отменить выбор текста в текстовом поле - PullRequest
13 голосов
/ 26 июля 2010

У меня есть форма окна, которая устанавливает свойство текста в текстовом поле для свойства строковой переменной. Когда форма запускается, она имеет весь выбранный текст в текстовом поле. Мне нужно попытаться понять, как этого избежать. Я попробовал

DeslectAll() 

метод в текстовом поле, но это не похоже на работу. Я тоже пробовал

txtBox.SelectNextControl(txtCostSummary, true, false, true, true);

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

public Form1()
{
    Apple a = new Apple();
    a.IwantThisText = "Item 1: " + 50.00 + "\r\n";
    txtBox.Text = a.IwantThisText;
}

Class Apple
{
    private string iWantThisText;
    public string IwantThisText
    {
    get { return iWantThisText; }
    set { iWantThisText += value; } // Appends what was there before
    }
}

Все отлично работает, кроме той части, где он напечатал информацию в текстовом поле, но выделен весь текст в текстовом поле, что я не ожидал и не хотел.

Спасибо за любые идеи!

Ответы [ 3 ]

42 голосов
/ 26 июля 2010

Попробуйте это:

txtBox.Select(0, 0);
12 голосов
/ 04 апреля 2013

Я знаю, что это старый вопрос, но я обнаружил, что это тоже работает:

txtBox.SelectionLength = 0;

Это может быть предпочтительнее, чем SteveCav Select(0,0), поскольку он не перемещает начальную точку выбора.

5 голосов
/ 20 июня 2011

Попробуйте это:

//remove focus from control.
Apple a = new Apple();    
a.IwantThisText = "Item 1: " + 50.00 + "\r\n";    
txtBox.Text = a.IwantThisText;

// Add this
txtBox.TabStop = false;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...