【问题标题】:WPF: How to remove textbox created dynamicallyWPF:如何删除动态创建的文本框
【发布时间】:2013-07-24 18:49:28
【问题描述】:

我正在创建多个文本框,我想知道既然我动态创建了这些文本框,我将如何删除它们甚至更新它们?

例如在代码中

TextBox tb = new TextBox();
tb.Name = "Temp"

如何删除或更新文本框Temp

我不能打电话给Temp.Text = "Test"

我也无权访问 tb.Text。我创建了一堆文本框并用数字textbox_1 命名它们。单击某个按钮时,我想更新单击的文本框。

【问题讨论】:

  • 您将使用它作为 tb.Text="your text"。至于如何移除,需要从其父容器的Children/Items中移除。
  • "当点击某个按钮时,我想更新点击的文本框。"你是点击按钮还是文本框?

标签: c# wpf


【解决方案1】:

您可以使用 Name 从容器中找到该文本框,例如:

TextBox tb = (TextBox) this.someStackPanel.FindName("Temp");

后来

tb.Text = "Test";

要删除它,您可以这样做:

//First find the TextBox
TextBox tb = (TextBox) this.someStackPanel.FindName("Temp");
//Then remove it 
this.someStackPanel.Children.Remove(tb);

【讨论】:

  • 甜蜜,我想这就是我要找的东西!
  • 谢谢,我会尽快接受它作为答案。
  • @AustinTruong 在未来,谷歌是你的朋友。这是非常简单的东西,可以通过查看文档或已经存在的大量示例来回答。
  • @tnw,感谢您的建议。我确实尝试谷歌它哈哈,我可能没有谷歌正确的关键字。
【解决方案2】:

你需要打电话

parent.RegisterName("Temp", tb);

创建TextBox后在父级上注册名称。

当你想找到文本框时,调用

TextBox tb = (TextBox) parent.FindName("Temp")

获取文本框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多