我有一个窗口窗体有一个按钮,当按钮被点击时,它动态生成控件,也有一个按钮被添加,这样它就会删除在行的控件,意味着在按钮旁边,当按钮被点击时,一行控件将被删除。我的代码是
int c = 0; private void button1_Click(object sender, EventArgs e) { int v; v = c++; panel1.VerticalScroll.Value = VerticalScroll.Minimum; Button btn = new Button(); btn.Name = "btn" + v; btn.Text = "Remove"; btn.Location = new Point(750, 5 + (30 * v)); btn.Click += new EventHandler(btn_Click); ComboBox combo = new ComboBox(); combo.Name = "combobox" + v; combo.Location = new Point(30, 5 + (30 * v)); combo.Tag = btn; ComboBox combo2 = new ComboBox(); combo2.Name = "combobox2" + v; combo2.Location = new Point(170, 5 + (30 * v)); combo2.Tag = btn; TextBox txt = new TextBox(); txt.Name = "txtbx" + v; txt.Location = new Point(300, 5 + (30 * v)); txt.Tag = btn; TextBox txt2 = new TextBox(); txt2.Name = "txtbx2" + v; txt2.Location = new Point(450, 5 + (30 * v)); txt2.Tag = btn; TextBox txt3 = new TextBox(); txt3.Name = "txtbx3" + v; txt3.Location = new Point(600, 5 + (30 * v)); txt3.Tag = btn; panel1.Controls.Add(combo); panel1.Controls.Add(btn); panel1.Controls.Add(txt); panel1.Controls.Add(combo2); panel1.Controls.Add(txt2); panel1.Controls.Add(txt3); } private void btn_Click(object sender, EventArgs e)// this is the dynamically added button's event which will remove the combobox and textbox { Button btnh = sender as Button; foreach (Control item in panel1.Controls.OfType<TextBox>()) { if (item.Tag == sender || item == sender) panel1.Controls.Remove(item); } foreach (Control item in panel1.Controls.OfType<ComboBox>()) { if (item.Tag == sender || item == sender) panel1.Controls.Remove(item); } panel1.Controls.Remove(btnh); }
我的错误是什么,但问题是它dosnt删除所有的控件,它留下控件,我不知道什么问题,我的代码简单容易,但我不知道哪里缺乏
问题是在循环遍历集合时正在移除项。在这种情况下,foreach-statement可能会跳过项。首先将要删除的项存储在列表中:
List<Control> toBeRemoved = panel1.Controls
.Cast<Control>()
.Where(c => c.Tag == sender)
.ToList();
foreach (Control c in toBeRemoved) {
panel1.Controls.Remove(c);
}
如果向后循环,也可以轻松地在循环中移除:
for (int i = panel1.Controls.Count - 1; i >= 0; i--) {
if (panel1.Controls[i].Tag == sender) {
panel1.Controls.RemoveAt(i);
}
}
我正在尝试在我的java spring项目中的swagger定义中添加新的属性。我已阅读文档并特别 https://springfox.github.io/springfox/docs/snapshot/#plugins 例如,我有这个定义: 我想要: 你能帮我在定义中添加meteo属性吗?在本例中,我的目标是以编程方式添加attribute,而不使用注释。
预期结果:用循环去写,现在是写死的,当长度是2的时候是 obj= _tableArray[nodeList[0]].children[nodeList[1]]
问题内容: 我正在使用jquery和Google Maps V3 API向Google Maps动态添加标记。当按钮被点击时,一个请求被使用AJAX,它返回经纬度的对应于该结果,这将被用于放置标记物的JSON数组发送到服务器。但是在我的Javascript Conole中,出现错误:。我哪里做错了?这是我的代码: HTML标头JS: jQuery的 问题答案: 您应该将全局变量称为map。就是这样
问题内容: 嗨:在我们的应用程序中,我们已经从数据库中检索了一些数据,例如,表中包含以下字段:id,名称,年龄,地址,电子邮件。 然后,我们将根据客户提供一些这些属性。 如果客户需要ID,名称,我们将获得ID名称;如果客户需要ID,名称,年龄,则将获得ID,名称,年龄。 现在,我们想创建一个包装这些属性的类。但是,我们不知道确切要求哪个字段。 我可以在这里用Class替换地图吗? 问题答案: 如果
问题内容: 目标是创建一个行为类似db结果集的模拟类。 因此,例如,如果数据库查询使用表达式返回,那么我想看看: 刚开始我以为我可以这样做: 但返回一个属性对象。 用替换该行根本没有用。 那么在运行时创建实例属性的正确方法是什么? 问题答案: 我想我应该扩大这个答案,因为我年纪大一些并且比较聪明,并且知道发生了什么事。迟到总比不到好。 你可以动态地向类添加属性。但这很重要:你必须将其添加到类中。
问题内容: 如何使用JavaScript 将属性动态添加到链接? 我基本上想动态添加一个属性(即,当用户单击网站上的特定图像时)。 来自: 我需要去: 问题答案: