У меня есть одна форма, которая открывает другую форму при нажатии кнопки. Когда открывается новая форма, у меня есть индикатор выполнения через цикл, затем я хочу, чтобы форма закрылась. Здесь отображается событие нажатия кнопки, которое запускает новую форму.Невозможно создать форму «закрыть себя»?
private void calculateButton_Click(object sender, EventArgs e)
{
if (checkFormComplete())
{
ProgressForm proForm = new ProgressForm();
proForm.Show();
}
}
И вот код для новой формы, который завершает индикатор выполнения, который затем должен закрыть сам.
public ProgressForm()
{
InitializeComponent();
for (int i = 0; i < 101; i++)
calculationProgress.Value = i;
this.Close();
}
Однако после запуска этого я получаю:
Не удается получить доступ к объекту, расположенный. Имя объекта: «ProgressForm».
и отладчик указывает на этой линии моей главной формы:
proForm.Show();
Я не уверен, я понимаю, почему, или то, что правильный способ сделать это. Как эта строка вызывается после закрытия в моей новой форме?
Это выглядит очень похоже вы звоните Close() из конструктора ProgressForm, поэтому вызов Show() [от calculateButton_Click] после того, как вы назвали Close (который будет вызывать Dispose) не будет работать –