gpt4 book ai didi

c# - 引用以编程方式创建的命名元素?

转载 作者:行者123 更新时间:2023-11-30 22:43:44 25 4
gpt4 key购买 nike

我使用以下代码以编程方式创建了一个 RichTextBox:

RichTextBox RT = new RichTextBox();
RT.Name = "asdf";
RT.Text = "blah";

TableLayoutPanel.Controls.Add(RT,0,0);

现在假设我想修改 RT 的文本,它的名字是“asdf”,Visual Studio 不允许我写 asdf.Text = “haha”,因为 asdf 还不存在。

如何专门抓取“asdf”并设置其文本?因为这个RichTextBox在一个特定的单元格中,我可以根据它的单元格坐标来抓取它吗?

最佳答案

您应该能够通过 TableLayoutPanel.Controls 属性获取对它的引用,该属性返回 TableLayoutControlCollection .该类提供了两种按名称定位控件的方法:Item propertyFind method . Item 属性返回具有指定名称的控件,而 Find 方法返回控件集合。在这两种情况下,您都需要从 Control 转换为 RichTextBox

var rt = (RichTextBox)myTableLayoutPanel.Controls.Item["asdf"];

// or

var rts = myTableLayoutPanel.Controls.Find("asdf", false);
foreach (var rt in rts)
// (RichTextBox)rt ...

编辑:请务必在使用前检查结果是否不为空,以防找不到控件。

关于c# - 引用以编程方式创建的命名元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3805229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com