Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Вызов обработчика события


Автор: RomaKiev 10.7.2011, 14:30
Доброго времени суток!

Есть обработчик события SelectionChanget элемента управления ListBox

Код

private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
            ListBox lb = sender as ListBox;
            ListBoxItem lbi = lb.SelectedItem as ListBoxItem;
            textBlock1.Text = lbi.Content.ToString();            
}


В этом же обработчике я хотел бы вызвать обработчик события MouseEnter для объекта
типа Rectangle. Вот этот обработчик:

Код

private void rectangle3_MouseEnter(object sender, MouseEventArgs e)
        {
            Rectangle rec = sender as Rectangle;
            if (!Opacityflag)
            {
                rec.Opacity = 1;
                Opacityflag = true;
            }
            else
            {
                rec.Opacity = 0;
                Opacityflag = false;
            }
        }


Как это сделать?

Автор: Brilona 11.7.2011, 14:58
Не совсем понятно зачем вызывать обработчик события, если событие не случилось. Но если очень хочется, то так:

Код

rectangle3_MouseEnter(rectangle3, null);

Автор: Экскалупатор 11.7.2011, 15:35
мне кажется, что проще и нагляднее вынести код(общий для обоих обработчиков) в отдельный метод. а в обработчиках оставить только ту логику которая должна выполняться только в них. а то действительно странно, зачем вызывать обработчик события если событие не произошло.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)