gpt4 book ai didi

C# control.find 解释

转载 作者:太空宇宙 更新时间:2023-11-03 19:48:52 24 4
gpt4 key购买 nike

所以我一直在使用 control.find 有一段时间了,它非常有效。我喜欢了解我使用的东西。

Control txt = this.Controls.Find(x + "_"+ y + "_"+ z, true)[0] as TextBox;

txt.Text = string.Empty;

以上是我使用此方法的一种方式的示例,其中 x、y、z 是 int 类型(有时甚至是 string),它非常适合我的程序生成控件,因为我有很多控件,而且我的一些方法需要访问特定的文本框。

现在MSDN - Control.Find , 对于这种方法来说,大多数情况下都非常简单,除了一件事,这让我想到了我的问题。

[0] :这个坏小子,是我试图更好地理解这种方法的地方。

我一直保持原样,因为如果删除该方法,该方法就会失效。关于 [0],我想知道至少 3 件事,其他任何事情都是额外的好处,首先,它是什么,为什么它在那里,以及它有哪些可能有用的场景家伙?

最后,我使用这种方法没有问题,我经常将它用于不同类型的控件,这纯粹是一个事实调查问题。

最佳答案

ControlCollection.Find返回一个 Control[],因此可能有多个控件。原因是您可以在表单上拥有多个同名控件。

您的第二个参数是一个 bool,您已将其设置为 true。它指示是否应递归搜索此控件或仅在父控件中搜索。

因此,如果您永远不会有两个具有相同名称的控件,那么您的代码就是安全的。

否则你应该

  1. 避免重名
  2. 或者,如果需要,使用循环来迭代这些控件,而不是只访问第一个控件

请注意,您不能通过检测重复名称的设计器添加具有相同名称的控件。但是您可以自由地以编程方式添加具有相同名称的控件。

关于C# control.find 解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42085814/

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