У меня есть приложение Winform, которое я пишу на C #. В моей форме у меня есть TabControl с семью страницами, каждая из которых полна элементов (в первую очередь TextBoxes и DropDownLists). Я извлекаю некоторую информацию с помощью DataReader, заполняю DataTable и использую метод DataBindings.Add для заполнения этих элементов текущими значениями.
Пользователь может вводить данные в эти элементы, нажимать «Сохранить», а затем я устанавливаю параметры запроса ОБНОВЛЕНИЕ, используя текстовые поля элементов. Например:
updateCommand.Parameters.Add("@CustomerName", SqlDbType.VarChar, 100).Value = CustomerName.Text;
Проблема, с которой я столкнулся, заключается в том, что после загрузки формы все элементы считаются пустыми, пока я не выберу каждую вкладку вручную. Таким образом, если я нажимаю «Сохранить» сразу после загрузки формы, все поля на вкладках, которые я еще не выбрал, пытаются ОБНОВИТЬ с пустыми данными (не приятно). Когда я выбираю каждую вкладку, эти элементы теперь будут правильно отправлять свои данные. В настоящее время я разработал (очень) уродливый обходной путь, при котором я программно выбираю каждую вкладку, когда данные заполняются впервые, но это неприемлемое долгосрочное решение.
У меня вопрос: как я могу заставить все элементы на вкладках TabPage правильно возвращать свои данные до того, как пользователь выберет эту вкладку?