|
Как обойтись без метки - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
25.01.2013, 15:47
|
#1
|
|
|
|
Сержант
|
Регистрация: 12.09.2010
Сообщений: 165
Популярность: 375
Сказал(а) спасибо: 70
Поблагодарили 39 раз(а) в 25 сообщениях
|
Как обойтись без метки
Вообщем нужно следующее: человек нажимает на кнопку и ему выводится folderbrowserdialog. После нажатии кнопки ок программа проверяет есть ли нужный путь, если есть то ок, если нет то заного открыть.
Код:
private void OpenButton_Click(object sender, EventArgs e)
{
goto OpenDialog;
OpenDialog:
{
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
if (File.Exists(folderBrowserDialog1.SelectedPath + @"\bin\java.exe"))
{
JavaPathEdit.Text = folderBrowserDialog1.SelectedPath;
}
else
{
MessageBox.Show("Не удалось найти файл " + '"' + folderBrowserDialog1.SelectedPath + @"\bin\java.exe" + '"' +
". Пожалуйста укажите правильный путь", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
goto OpenDialog;
}
}
}
}
Сделал только через goto, но не могу додуматься как без него. Не подскажет ли кто?
|
|
|
25.01.2013, 15:54
|
#2
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: Как обойтись без метки
Код:
private void OpenButton_Click(object sender, EventArgs e)
{
while(true)
{
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
if (File.Exists(folderBrowserDialog1.SelectedPath + @"\bin\java.exe"))
{
JavaPathEdit.Text = folderBrowserDialog1.SelectedPath;
break;
}
else
{
MessageBox.Show("Не удалось найти файл " + '"' + folderBrowserDialog1.SelectedPath + @"\bin\java.exe" + '"' +
". Пожалуйста укажите правильный путь", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
continue;
}
}
}
}
PS Я бы за такое диалоговое окно убил, ибо если у меня не устрановлена джава то и закрыть окно не получиться
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 25.01.2013 в 15:57.
|
|
|
25.01.2013, 16:50
|
#3
|
|
|
|
Старший сержант
|
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: Как обойтись без метки
|
|
|
Пользователь сказал cпасибо:
|
|
25.01.2013, 17:26
|
#4
|
|
|
|
Сержант
|
Регистрация: 12.09.2010
Сообщений: 165
Популярность: 375
Сказал(а) спасибо: 70
Поблагодарили 39 раз(а) в 25 сообщениях
|
Re: Как обойтись без метки
|
|
|
25.01.2013, 18:19
|
#5
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: Как обойтись без метки
Пардон, забыл про условие if (result == DialogResult.OK), ни что же не мешает нажать отмену.
Sinyss, рекурсия же, возможен стаковерфлоу, если конечно существует человек способный over9000 раз указать неверную директорию
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
25.01.2013, 20:01
|
#6
|
|
|
|
Старший сержант
|
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: Как обойтись без метки
|
|
|
25.01.2013, 20:04
|
#7
|
|
|
|
Сержант
|
Регистрация: 12.09.2010
Сообщений: 165
Популярность: 375
Сказал(а) спасибо: 70
Поблагодарили 39 раз(а) в 25 сообщениях
|
Re: Как обойтись без метки
Yukikaze, а как тогда не допустить стаковерфлоу?
|
|
|
26.01.2013, 00:31
|
#8
|
|
|
|
Старший сержант
|
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: Как обойтись без метки
|
|
|
26.01.2013, 01:14
|
#9
|
|
|
|
Сержант
|
Регистрация: 12.09.2010
Сообщений: 165
Популярность: 375
Сказал(а) спасибо: 70
Поблагодарили 39 раз(а) в 25 сообщениях
|
Re: Как обойтись без метки
Sinyss, ну если зажать enter, то не так и долго.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 23:35.
|
|