#c# #textbox #microsoft-metro #openfiledialog #metroframework
#c# #текстовое поле #microsoft-metro #openfiledialog #metroframework
Вопрос:
CommonOpenFileDialog cicon = new CommonOpenFileDialog();
cicon.IsFolderPicker = false;
cicon.Title = "Choose Icon";
cicon.Filters.Add(new CommonFileDialogFilter("Executable Files", "*.exe"));
cicon.Filters.Add(new CommonFileDialogFilter("Icon Files", "*.ico*"));
if (cicon.ShowDialog() == CommonFileDialogResult.Ok)
{
try
{
Image fico = System.Drawing.Icon.ExtractAssociatedIcon(cicon.FileName).ToBitmap();
metroTextBox1.Icon = fico;
}
catch (Exception re)
{
winmsg msg = new winmsg();
msg.Title = "Icon Error - Cannot find any Icon";
msg.Content = "Path: " re.Message;
msg.ShowDialog();
msg.Dispose();
}
}
else
{
return;
}
Я получаю диалоговое окно открытия файла после выбора файла, в чем может быть проблема? Приведенный выше код для нажатия на CustomButton в Metrotextbox.
Комментарии:
1. Я не вижу ни одного места в опубликованном коде, которое открывало бы диалоговое окно во второй раз. Вы проследили это с помощью отладчика? Я бы подумал, что простая трассировка покажет, откуда берется второй диалог. Я держу пари, что это происходит из какого-то другого места в коде, которое вы не показали.
2. Нет, никакого другого кода, только на этой кнопке, при первом запуске у него нет проблем.. только при выборе во второй раз, если вы решили изменить файл, который уже выбран, во второй раз, когда нажимаете на эту кнопку, открываете диалоговое окно 2 раза после нажатия ok,..
3. Где диалоговое окно открывается во второй раз, когда вы отслеживаете код?
4. Он повторяет тот же код, что и выше, я использовал click программно, может ли это решить проблему? metroTextBox1.CustomButton.Click = CustomButton_Click;
5. Да, это была проблема, metroTextBox1.CustomButton.Click = CustomButton_Click; вызывался дважды.. Спасибо тебе @JohnG