![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Регистрация: 14.11.2007
Сообщений: 36
Репутация: 2
|
Ситуация в следующим, в программе происходит обработка исключительныой ситуации на существование файла, при этом нужно вызвать вторую форму где можно будет либо удалить файл либо его приостановить, но приэтом работу в первой форме надо на время приостановить, в итоге приложение целиком виснет...может это моя прихоть, но мне хочется сделать что бы она работала(именно использовать вторую форму):
код первой формы при возникновении исключительной ситуации: Код:
catch(System.IO.IOException)
{
Form2 form2 = new Form2(filenamer[i], mhead);
form2.Show();
form2.Activate();
wh.WaitOne();
form2.Hide();
i--;
}
Код:
if (button2.Text == "Переименовать")
{
button2.Text = "OK";
button1.Visible = false;
textBox1.Visible = true;
textBox1.Text = this.filef;
};
if (button2.Text == "OK")
{
if (textBox1.Text == this.filef)
{
MessageBox.Show("Пожалуйста изменити имя файла");
}
else
{
File.Move(pathf + "\\" + filef, pathf + "\\" + textBox1.Text);
Form1.wh.Set();
|
|
|
|
| Реклама: | плес тур | вентиляторы tkv | epson l3252 | relog | Серьги конго из белого золота с топазами Лондон и фианитами |
|
|
#2
|
|
Так ты ж запускаеш новую форму в том же потоке и сразу же его останавливаеш вейтом. Вторую форму надо запускать в отдельном потоке.
catch(System.IO.IOException) { System.Threading.Thread thr = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(NewForm) ); thr.Start((object)filenamer[i]); wh.WaitOne(); i--; } private void NewForm(object param) { Form2 form2 = new Form2((нужный тип)param, mhead); form2.Show(); form2.Activate(); } Последний раз редактировалось Svintuss; 18.04.2008 в 10:50.. |
|
|
|
|
|
|
#3
|
|
можно и без потоков обойтись. если не заниматься глупостью и не ловить исключения там, где это не нужно. проверять наличие и доступность файла необходимо обычными методами, типа Exists. иначе это называется ошибка проектирования, когда исключения используются в логике приложения, а не для отлова реальных ошибок программных модулей.
|
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Ultrasurf - анонимный серфинг, сокрытие IP адреса, прокси сервер | makxxnai | Интернет и Сети | 4 | 12.09.2015 18:57 |
| не запускается ни одно приложение | ptizz | Скорая помощь | 9 | 13.09.2008 21:48 |
| Приложение не отвечает | Black_Swamp | Скорая помощь | 6 | 19.08.2008 14:39 |
| native-приложение? | AndreyCh1963 | Visual C++ / С/C++ | 2 | 27.06.2008 21:16 |
| Как создать приложение | Waterfull | Программирование | 2 | 01.03.2008 21:00 |
|
|