События своего контрола

Создала свой контрол, добавила в панель инструментов, в новом проекте добавляю контрол на форму, пытаюсь контролу прописать событие клик, а он на него не реагирует! Что я не правильно сделала? Может контролу надо прописывать евенты изначально?
14 ответов

Ну, хоть кто нибудь помогите, пожалуйста!!!!!!!


У тебя клик срабатывает не на твоем контроле, а на PictureBox-е


А как мне добратся до контрола через picturebox?


блин, смог навесить в самом контроле событие на клик, но изменить его из другой формы не смог...о как...самому теперь интересно...пока не знаю....


Вот и мне ни как не достучатся через picturebox! Вариант просто контролу ********** вставить мне не подходит!


Вот и мне ни как не достучатся через picturebox! Вариант просто контролу ********** вставить мне не подходит!
Ваш код не смотрел, но могу предложить PerformClick() для принудительного вызова Click().


Если у тебя UserControl больше не будет содержать другие контролы, то зачем тогда использовать такой подход?Возьми унаследуйся от PictureBox
public class MyPictureBox : PictureBox
{
       public MyPictureBox ()
       {
             //Загружай свой рисунок
       }
}


d0s'A, да, верно говоришь, тоже удивился...но почему от контрола в общем не проходит event к главной форме?...в самом контроле срабатывает, если навесить...


Я создала свой контрол для дальнейшей его сериализации, просто picturebox с image ругается на картинку при сохранении, а юзерконтрол сохраняется, но я его никак не могу использовать!


pink-cake, ну на онЛоад и на онКлоуз у него ивенты сработали..


Вот мне на американском форуме подсказали:
public UserControl1()
    {
        InitializeComponent();
 
        this.pictureBox1.Click += (s,e) => {base.OnClick(e);};
        this.checkBox1.Click += (s,e) => {base.OnClick(e);};
    }


pink-cake, ну так ты это в самом контроле пропишешь? - у меня это получилось...я тоже там сделал protected override...но навеситься на этот ивент из основной формы не смог..


Странно! у меня заработало!


У тебя клик срабатывает не на твоем контроле, а на PictureBox-е
Помоему я так и описал проблему В данном подходе, у тебя просто события от PictureBox идут на верх к твоему контролу....