0

C# でたくさんの linkLabels を生成します。私が望むのは、textBox1 に URL を入力することです。これは、linkLabel ごとに異なります。動的イベントを生成するにはどうすればよいですか? これは例です:

foreach (var node in nodes)
{
    HtmlAttribute att = node.Attributes["href"];
    HtmlAgilityPack.HtmlDocument tempDoc = new HtmlAgilityPack.HtmlDocument();
    tempDoc.LoadHtml(node.InnerHtml);
    var tempNode = tempDoc.DocumentNode.SelectSingleNode("//img[@alt]");
    HtmlAttribute tempAtt = tempNode.Attributes["alt"];
    LinkLabel ll = new LinkLabel();
    ll.Location = new Point(20, 20 * i);
    ll.Text = tempAtt.Value;
    this.Controls.Add(ll);
    i++;
}

ノードテキストは である必要がtempAtt.Valueあり、クリックすると textBox1 が満たされる必要がありますatt.Value

4

1 に答える 1

2

dat をイベントに直接渡すことはできません。別の方法でハンドラー内から取得する必要があります。

foreach (var node in nodes)
{
    ...
    LinkLabel ll = new LinkLabel();
    ...
    ll.Click += MyLabelClickHandler;
    this.Controls.Add(ll);

    i++;
}

void MyLabelClickHandler(object sender, Eventargs e)
{
    senderLabel = sender as LinkLabel;
    string text = senderlabel.text;
    ....
}
于 2012-05-23T11:33:25.100 に答える