Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2010, 01:35   #1
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию Вызов события из произвольного участка кода в WPF

Здравствуйте. Возникла ещё одна проблема при переносе приложения на WPF. Если в WinForms можно сделать так:

Код:
        //жмём по кнопке "Выбрать музыку"
        private void btnSelectMusicFile_Click(object sender, EventArgs e)
        {
            ..........
            ..........
        }



Далее в другом участке кода:

Код:
                    if (MessageBox.Show("Файл для воспроизведения или не существует или не был выбран. " +
                         "Выбрать файл для воспроизведения?", "Внимание",
                         MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        this.btnSelectMusicFile_Click(this.btnPlayStop, EventArgs.Empty); //запускаем событие "Нажатие на кнопку выбрать песню"
                    }
А вот в WPF пробую почти также сделать, но не в какую не хочет:

Код:
                    String msgText = "Файл для воспроизведения или не существует или не был выбран. " +
                         "Выбрать файл для воспроизведения?";
                    MessageBoxButton msgBoxButtons = MessageBoxButton.YesNo;
                    MessageBoxImage msgBoxImage = MessageBoxImage.Question;
                    MessageBoxResult msgBoxResult = MessageBox.Show(msgText, "Внимание", msgBoxButtons, msgBoxImage);
                    switch (msgBoxResult)
                    {
                        case MessageBoxResult.Yes:
                            {
                                //запускаем событие "Нажатие на кнопку выбрать песню"
                                this.btnSelectMusicFile_Click(this.btnPlayStop, RoutedEventArgs.Empty);
                            }
                            break;
                    }
На этой строке происходит ошибка, не дающая скомпилировать проект:

Код:
this.btnSelectMusicFile_Click(this.btnPlayStop, RoutedEventArgs.Empty);
Первая ошибка:

Ошибка 1 Наиболее подходящий перегруженный метод для "MyProgramName.WindowAdd.btnSelectM usicFile_Click(object, System.Windows.RoutedEventArgs)" имеет несколько недопустимых аргументов D:\Программирование\C# - Visual Studio 2010\MyProgramName - WPF\MyProgramName\WindowAdd.xaml.cs 416 33 MyProgramName

Вторая ошибка:

Ошибка 2 Аргумент "2": преобразование типа из "System.EventArgs" в "System.Windows.RoutedEventArgs " невозможно D:\Программирование\C# - Visual Studio 2010\MyProgramName - WPF\MyProgramName \WindowAdd.xaml.cs 416 81 MyProgramName



Не понимаю, почему не получается, перепробовал множество вариантов методом тыка, ничего не помогло.
Casper-SC вне форума Ответить с цитированием
Старый 24.07.2010, 10:23   #2
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Решение:

Код:
this.btnSelectMusicFile_Click(this.btnPlayStop, new RoutedEventArgs());
То есть конкретно: new RoutedEventArgs() надо использовать, а не RoutedEventArgs.Empty
Casper-SC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка участка матрицы random7 Общие вопросы C/C++ 7 23.06.2010 08:13
Паскаль выделение участка массива Brian Spilner Помощь студентам 6 10.05.2010 13:51
узнать время работы отдельного участка программы H'orn Общие вопросы .NET 7 10.03.2010 10:10
Печать произвольного размера HP6720 Помощь студентам 6 04.02.2009 18:38
Копирование участка текста из Экселя в Ворд Devourer12345 Microsoft Office Excel 3 30.07.2008 08:13