У меня была точно такая же проблема, всякий раз, когда я хотел прочитать значение по умолчанию в выпадающем списке из неэкранированных вкладок, возвращалось значение NULL, и я обнаруживал, что данные и события происходят после контрольного шоу, и то, что я делал, писал эту функцию
protected virtual void SetComboData(System.Windows.Forms.Control parentCtrl, DataRow r)
{
foreach (System.Windows.Forms.Control ctrl in parentCtrl.Controls)
{
if (ctrl is ComboBox)
if ((ctrl as ComboBox).DataBindings.Count != 0)
(ctrl as ComboBox).SelectedValue = r[(ctrl as ComboBox).DataBindings[0].BindingMemberInfo.BindingMember];
if (ctrl is TextBox)
if ((ctrl as TextBox).DataBindings.Count != 0)
(ctrl as TextBox).Text = r[(ctrl as TextBox).DataBindings[0].BindingMemberInfo.BindingMember].ToString();
SetLecData(ctrl, r);
}
}
ия вызывал функцию перед сохранением набора данных
SetComboData(tabControl1, MyDataSet.Table["MyTable"]);//for tabcontrol