Моята програма има множество форми. Петата и последна форма има бутон, който при натискане затваря приложението чрез метода Application.Exit(). Въпреки това всеки път, когато щракна върху бутона, получавам грешката „не мога да осъществя достъп до изхвърлен обект“, заобикаляйки този код в първия ми формуляр:
frm2 f2 = new frm2();
this.Hide();
f2.ShowDialog();
this.Show();
Компилаторът показва, че изразът this.show()
е проблемът. Може ли някой да обясни защо получавам тази грешка и как да я поправя?
this.Hide();
, на който се хвърля изключението? Възможно е формулярът, който показвате окончателния формуляр от (this
), вече да е изхвърлен. Изглежда, че в този пример липсва много код, така че е трудно да се диагностицира точният проблем. - person dash   schedule 01.12.2012Application.DoEvents
някъде в кода си? - person dcreight   schedule 01.12.2012Application.Exit()
? Вероятно вашият основен формуляр е бил изхвърлен до момента, в койтоf2.ShowDialog();
се върне. Защо вместо това не проверите DialogResult от ShowDialog и не извикате Application.Exit в основната си форма? - person dash   schedule 01.12.2012