У меня есть многострочное TextBox в моем приложении, текст которого я хочу очистить.
Проблема в том, что когда я очищаю текст, используя
textBox.Text = ""
or
textBox.Clear()
, очищается только первая строка.Другие строки все еще там, но не могут быть удалены, и если я начну печатать в текстовое поле, другие строки будут перезаписаны, что заставляет меня думать, что это проблема перерисовки, но не могу понять, почему это происходит.
Текстовое поле находится в пользовательском элементе управления внутри формы, которую можно свернуть.Проблема появляется после того, как форма свернута, а затем восстановлена.
Я попытался вызвать Refresh
на элементе управления и в текстовом поле, чтобы вызвать перерисовку, но это не работает.
Есть ли другой способвызвать событие перекрасить, чтобы решить эту проблему?Не уверен, что я делаю не так здесь.
РЕДАКТИРОВАТЬ:
Вот пример кода.Метод ShowForm
вызывается для восстановления минимизированной формы.
public static void ShowForm()
{
if (!myForm.Visible)
{
myForm.PopulateForm();
myForm.Show();
myForm.Activate();
myForm.WindowState = FormWindowState.Normal;
}
}
и внутри PopulateForm
(который является методом myForm
), я очищаю текст в текстовом поле:
public void PopulateForm()
{
this.myControl.myTextBox.Clear();
}
this.myControl
- это пользовательский элемент управления, которыйсодержит текстовое поле