Я пытался найти это, но я не знал, как это описать. Если это дубликат, укажите мне на другой вопрос. Спасибо.
Я создал приложение C # Windows Forms, используя VS 2008. В основной форме он открывает настраиваемую диалоговую форму. Когда пользователь закрывает диалоговую форму, она полностью не исчезает, прежде чем приложение запускается в следующую задачу. Схема различных частей формы сохраняется до тех пор, пока не будут выполнены некоторые дополнительные задачи.
Это выглядит очень непрофессионально, и приложение кажется сломанным, хотя все работает отлично. Есть ли способ избежать и / или исправить эту проблему?
К вашему сведению, дополнительные задачи - это расчеты, запрошенные после закрытия формы.
Вот код закрытия формы.
private void CloseForm_Click(object sender, EventArgs e)
{
Properties.Settings.Default.EndDate = cmbBoxRptDate.SelectedValue.ToString();
rptDate = cmbBoxRptDate.SelectedValue.ToString();
Var1 = cmbBoxVar1.SelectedValue.ToString();
Var2 = cmbBoxVar2.SelectedValue.ToString();
this.Close();
}
Вот код из главной формы, который открывает пользовательское модальное диалоговое окно и затем удаляет его после его закрытия. Я думаю, что dispose может быть избыточным, так как форма сама вызывает метод close.
RptSettingsForm RS = new RptSettingsForm();
DialogResult DR = RS.ShowDialog();
String var1 = RS.getVar1().ToString();
String var2 = RS.getVar2().ToString();
String rptDate = RS.getDate().ToString();
RS.Dispose();
Затем устанавливается соединение с SQL Server для выполнения некоторых расчетов отчета.