Was ich versuche zu tun: Erzeugt eine Liste anklickbarer Links, die, wenn Sie darauf klicken, ein detaillierteres Fenster darüber neben ihnen anzeigen.Dynamisch generierte LinkLabels - Übergabe eindeutiger Informationen an den Handler
Was ich nicht herausfinden kann, ist, wie man das LinkLabel identifiziert, nachdem es geklickt hat.
Hier ist mein Code so weit:
if (reader.HasRows)
{
lore_output_panel.Controls.Clear();
string lore_search_returns = "";
int i = 0;
LinkLabel[] itemfound = new LinkLabel[20];
while (reader.Read() && i < 20)
{
itemfound[i] = new LinkLabel();
itemfound[i].Text = reader["name"].ToString();
Point p = new Point(0, 0 + (15 * i));
itemfound[i].Location = p;
itemfound[i].Visible = true;
itemfound[i].AutoSize = true;
itemfound[i].Show();
itemfound[i].Name = "loreitem" + i;
itemfound[i].LinkClicked += new LinkLabelLinkClickedEventHandler(this.linkClicked);
lore_output_panel.Controls.Add(itemfound[i]);
i++;
//lore_search_returns += reader["name"] + "\r\n";
}
lore_output.Text = lore_search_returns;
}
else
{
lore_output.Text = "ITEM NOT FOUND\r\n" + sql;
}
m_dbConnection.Close();
}
private void linkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string testname = this.Name;
MessageBox.Show(testname);
}
Mit diesem Code, wenn der Link angeklickt wird, zeigt er nur den Namen des Formulars. Ich brauche eine Art eindeutiger Bezeichner, der auf dem Klick angezeigt wird, damit ich feststellen kann, auf welches Link-Label geklickt wurde. Gibt es eine Möglichkeit, den Namen des Linklabels, über das ich geklickt habe, an den Click-Ereignishandler weiterzugeben?
Ich habe das Gefühl, es kann mit Tags zu tun haben (wie an diesem Link gesehen) Making dynamically created linklabels clickable in Winforms, aber ich verstehe nicht.
'string testName = ((LinkLabel) sender) .Name;' – LarsTech
danke! Gibt es eine Möglichkeit, deinen Kommentar als Antwort zu markieren? – DerekConlon