【发布时间】:2015-03-25 09:47:23
【问题描述】:
背景
我使用循环创建一组链接标签和标签控件,该循环使用数据库中的数据作为内容(文本)。
问题
然后我如何删除或更改那里的可见性?
我希望发生什么?
在按钮单击事件中,我希望将所有链接和链接标签的文本属性设置为 null,或者将它们的可见性属性设置为 false。
代码
private void getInfoStationID()
{
//SQL Connection Stuff
for (int i = 0; i <= rowCount - 1; i++)
{
LinkLabel Linklabel = new LinkLabel();
Linklabel.Text = ds.Tables[0].Rows[i] ["code"].ToString();
Linklabel.Height = 15;
Linklabel.Width = 50;
Linklabel.AutoSize = true;
Linklabel.Location = new Point(10, (i + 1) * 30);
tabControl1.TabPages[0].Controls.Add(Linklabel);
// Add an event handler to do something when the links are clicked.
Linklabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
Label label1 = new Label();
label1.Text = ds.Tables[0].Rows[i]["name"].ToString();
label1.Height = 15;
label1.Width = 70;
label1.Location = new Point(100, (i + 1) * 30);
tabControl1.TabPages[0].Controls.Add(label1);
Label label3 = new Label();
label3.Text = ds.Tables[0].Rows[i]["toc"].ToString();
label3.Height = 15;
label3.Width = 50;
label3.Location = new Point(240, (i + 1) * 30);
tabControl1.TabPages[0].Controls.Add(label3);
}
}
private void clearAllBtn_Click(object sender, EventArgs e)
{
//Would like this to clear all previously drawn labels and linklabels
}
【问题讨论】:
-
贴出的代码也属于什么方法或事件..?请显示完整的方法签名您是否熟悉
Controls Class,这取决于您可以使用/实现foreach(Controls ctrl in Controls){}类型的构造并执行您需要做的检查以确保控制类型当然是LinkLabelStackoverflow有大量关于如何在 foreach 循环中使用 Controls 类的示例。这也可以使用 lambda 语句来完成
标签: c# winforms loops labels linklabel