Я создаю LinkLabel в Form2 и Form3 с одним и тем же кодом. Form2 и Form3 — это отдельные классы, поэтому имена не мешают. Они оба создаются, но в Форме 3 ссылки открываются, в Форме2 ничего не происходит.
Это код для Form2
public partial class Form2 : Form
{
public void createFormEntry(List<string> videoId)
{
LinkLabel link = new LinkLabel();
link.Name = "link";
link.AutoSize = true;
link.Location = new Point(76, 8);
link.Text = "www.example.com";
link.LinkClicked += new LinkLabelLinkClickedEventHandler(link_LinkClicked);
this.Controls.Add(link);
}
private void link_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://www.example.com");
}
}
И это для Form3
public partial class Form3 : Form
{
private void createFormEntry(Feed<Video> videoFeed)
{
LinkLabel link = new LinkLabel();
link.Name = "link";
link.AutoSize = true;
link.Location = new Point(76, 8);
link.Text = "www.example.com";
link.LinkClicked += new LinkLabelLinkClickedEventHandler(link_LinkClicked);
this.Controls.Add(link);
}
private void link_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://www.example.com");
}
}
Они в разных классах. Form2 открывается перед Form3. Что может быть не так?
РЕДАКТИРОВАТЬ: теперь, когда я добавил больше кода, я вижу, что в Form2 createFormEntry является общедоступным, а в Form3 он установлен как частный. Может ли это быть причиной?