Неожиданное поведение Windows.Forms.TextBox в Clear () или простое значение string.Empty после вызова ShowDialog () - PullRequest
0 голосов
/ 18 января 2012

В форме с ванильным текстовым полем, где multiline == false, ожидаемые результаты при установке для свойства Text значения "", или string.Empty, или вызова Clear (). Однако однажды ShowDialog () был вызван в форме, поведение, описанное ниже, имеет место. Также обратите внимание, что странный эффект довольно немедленный. Если определен и используется обработчик события Load, как только он вызывается (в ответ на вызываемый ShowDialog ()), необъяснимое поведение, показанное ниже, имеет значение true.

textBox.Text = "fillWithSomething";

Отладчик показывает, что текст будет: "fillWithSomething"

textBox.Text = "";

отладчик показывает текст в виде: два непечатаемых символа с textBox.Text.Length == 2

textBox.Text = "fillWithNew";

отладчик показывает, что текст будет: "fillWithNew"

textBox.Clear();

Отладчик снова показывает текст как два непечатаемых символа с длиной == 2

Это все часть более крупного клиентского приложения Form. Я попробовал простой тест (3.5 и 4 .Net Framework) и то же поведение.

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

1 Ответ

0 голосов
/ 18 января 2012

Я только что опустил текстовое поле в форме, и я не вижу поведение, которое вы видите.и ="", и .Clear() задают для него пустую строку длиной 0. Должно быть что-то еще мешающее

...