Я только что повторил это, и он работает нормально (VS2010 .NET4) .. Вы показываете тот же самый экземпляр формы позже? (как показано ниже):
BookList bookList = new BookList();
bookList.txtBookList.Text = "aaa";
bookList.Show();
EDIT
Учитывая ваш ответ, кажется, что вы создаете отдельные формы. Вот что вам нужно сделать:
Сначала, в вашей основной форме, объявите это:
private BookList _bookList = new BookList();
Затем, где бы вам ни понадобилось сослаться на эту форму, используйте _bookList для этого. Например:
_bookList.txtBookList.Text = "aaa";
_bookList.ShowDialog();
Вам необходимо сохранять 1 ссылку на диалоговое окно при каждом выполнении задач. Если вы делаете это каждый раз, когда хотите работать с этой формой:
BookList bookList = new BookList();
Вы на самом деле создаете совершенно разные копии формы.