次のように動的に作成されるラベルのグループのクリック イベントを作成しようとしています。
private void AddLBL_Btn_Click(object sender, EventArgs e)
{
int ListCount = listBox1.Items.Count;
int lbl = 0;
foreach (var listBoxItem in listBox1.Items)
{
Label LB = new Label();
LB.Name = "Label" + listBoxItem.ToString();
LB.Location = new Point(257, (51 * lbl) + 25);
LB.Size = new Size(500, 13);
LB.Text = listBoxItem.ToString();
Controls.Add(LB);
lbl++;
}
LB.Click += new EventHandler(PB_Click);// error here
}
protected void LB_Click(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.mysite/" + LB);//Navigate to site on label
}
ループ内で LB を作成していて、ループ外で使用できるように LB を宣言する方法を知っているほど賢くないため、「名前 'LB' は現在のコンテキストに存在しません」というエラーが表示されます。
さらに、ラベル名 (listBoxItem) をクリック イベントに渡し、LB が WebBrowser 呼び出しのどこにあるかを示したいと思います。Like: webBrowser1.Navigate(" http://www.mysite/ " + LB);//ラベルのサイトに移動