2016-01-25 3 views
0

У меня есть небольшая программа, закодированная в C#. У меня разные формы.Нажмите кнопку в другой форме

Если я нажму кнопку в Form1, нажмите кнопку в форме2.

Form1 Метод, Класс A:

private void button1_Click(object sender, EventArgs e) 
{ 
    Click button2_Click(); 
} 

Form2 Метод, класс B

private void button2_Click(object sender, EventArgs e) 
{ 
    ... 
} 
+1

'Form1' нуждается в ссылке на вторую форму, возможно, когда вы ее создаете. Затем, как только у вас есть ссылка на него, вы можете позже просто написать 'form1.button2.Click()' – Rob

+0

Также возможно с помощью событий и делегатов. https://msdn.microsoft.com/en-in/library/orm-9780596521066-01-17.aspx –

ответ

0

Нечто подобное:

Form1 реализации:

private void button1_Click(object sender, EventArgs e) { 
    // You have to find if Form2 instance is opened 
    Form2 form2 = Application.OpenForms 
     .OfType<Form2>() 
     .FirstOrDefault(); 

    if (null != form2) 
     form2.ClickMyButton(); 
    } 

Form2 реализация:

public void ClickMyButton() { 
    //TODO move relevant code here from button2_Click 
    } 

    private void button2_Click(object sender, EventArgs e) { 
    ClickMyButton(); 
    } 
Смежные вопросы