2013-06-11 2 views
-1

Я создал свою собственную кнопку. Нестандартно, это PictureBox с двумя картинками внутри. Мне нужен метод вызова в форме, который повернет мою фотографию влево (метод завершен, и это изображение находится в форме pictureBox по форме). Я пробовал userControl1.Click, но ничего не произошло.Вызов метода по форме, когда я нажимаю на свой UserControl

Я думаю, что это должно быть событие на pictureBox внутри моего собственного UserControl, но я не знаю, как вызвать метод, который в моей форме.

ответ

0

Вы должны подписаться на мероприятие. Взгляните на этот документ; http://msdn.microsoft.com/en-us/library/ms366768(v=vs.80).aspx

Если вы сделаете так, чтобы ваш метод поворота изображения соответствовал событию Click на элементе изображения, тогда этот код будет вызываться при каждом щелчке изображения.

0

откройте конструктор, нажмите на кнопку. Посмотрите в окне свойств, которое описывает вашу кнопку. Наверху должен быть значок, напоминающий молнию. щелкните это, и вы можете видеть события для кнопки. вам нужен метод, который связывает кнопку с событием. Чтобы увидеть код, который задействован, откройте код дизайнера и найдите его окно с фотографией после его добавления.

Чтобы проверить, удалось ли это сделать, попробуйте добавить MessageBox.Show («Тест») в функцию щелчка.

--- К сожалению, это не относится к вам, но может быть полезно information--

Или, если вы хотите короткий путь, который не объясняет много, дважды щелкните по кнопке в конструкторе и он должен создать для вас событие Click().

+0

Я знаю о событиях и вещах, но это другой .. спасибо за комментарий – Ludva

0

Попробуйте это:

public class YourUserControl : UserControl { 
    public YourUserControl(){ 
     InitializeComponent();    
    }   
    private void pictureBox_Click(object sender, EventArgs e){ 
     //your code for pictureBox_Click 
     OnClick(e);//This is needed if you want to register some Click event handler from ouside your UserControl. 
    } 
}  

Я думаю, что вам не нужно использовать UserControl здесь, просто использовать PictureBox так:

public class MyButton : PictureBox { 
    public MyButton(){ 

    } 
    // 
    protected override void OnClick(EventArgs e){ 
     //Your code here 
     //base.OnClick(e); 
    } 
} 
+0

спасибо, но он ДОЛЖЕН быть UserControl, это домашнее задание, и мой учитель хочет UserControl ... но хорошая идея, спасибо вам – Ludva

Смежные вопросы