2

同じコードで Form2 と Form3 に LinkLabel を作成しています。Form2 と Form3 は別のクラスなので、名前が干渉することはありません。どちらも作成されますが、Form 3 のリンクは開いていますが、Form2 では何も起こりません。

これは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 ではプライベートとして設定されていることがわかります。それが理由でしょうか?

4

1 に答える 1

0

プログラムにそのリンクを開く方法や内容を指示せずにリンクを開こうとしている。プログラムなどでリンクを検索するように指示する必要があります。

于 2012-12-16T23:44:03.590 に答える