2013-06-09 5 views
0

Целью является щелчок Button1 в FORM4, который затем позволяет WebBrowser1 в FORM1 перейти на этот сайт.Кнопка в форме 4 не срабатывает в форме 1

я получаю эту ошибку: Ошибка 1 'NO1.Form4' не содержит конструктор, который принимает аргументы 0

Форма 1

Form4 mForm; 
    private void button92_Click(object sender, EventArgs e) 
    { 

      if (mForm == null) 
      { 
      mForm = new Form4(); 
      mForm.FormClosed += new FormClosedEventHandler(mForm_FormClosed); 
      mForm.Show(); 
      } 
     else 
      { 
     if (mForm.WindowState == FormWindowState.Minimized) 
      mForm.WindowState = FormWindowState.Normal; 
      mForm.Focus(); 
      } 
} 

void mForm_FormClosed(object sender, FormClosedEventArgs e) 
{ 
    mForm = null; 
} 

Форма 4

 public partial class Form4 : Form 

     { 

    private Form1 m_parent; 
    public Form4(Form1 frm1) 
    { 

     InitializeComponent(); 
     m_parent = frm1; 

    } 



    private void button1_Click(object sender, EventArgs e) 
    { 
     m_parent.webBrowser1.Navigate("google.com"); 
    } 

    private void Form4_Load(object sender, EventArgs e) 
    { 


    } 
} 
+0

Несвязанных на ваш вопрос, но это хорошая идея, вы должны рассмотреть вопрос о принятии конвенции об именовании для вашего кода , Имена типа 'button92',' Form1' и 'Form4' абсолютно бесполезны для эффективного кодирования или отладки. Используйте имена, которые помогают указать, что представляет собой вид/компонент, например: «WebBrowserView» и «BrowserLauncherView» или что-то в этом роде. – BenSwayne

ответ

0

Update ваша функция должна быть такой (добавьте к конструктору):

private void button92_Click(object sender, EventArgs e) 
{ 
    if (mForm == null) 
    { 
     mForm = new Form4(this); 
     mForm.FormClosed += new FormClosedEventHandler(mForm_FormClosed); 
     mForm.Show(); 
    } 
    else 
    { 
     if (mForm.WindowState == FormWindowState.Minimized) 
      mForm.WindowState = FormWindowState.Normal; 
      mForm.Focus(); 
    } 
} 
0

Класс Form4 имеет только один конструктор и имеет аргумент Form1.

Взглядов него вы хотите передать свой Form1 экземпляр в Form4 конструктор в случае щелчка

if (mForm == null) 
{ 
    mForm = new Form4(this); 
    mForm.FormClosed += new FormClosedEventHandler(mForm_FormClosed); 
    mForm.Show(); 
} 
Смежные вопросы