如何为以相同形式存在的所有文本框赋予相同的属性。
      foreach (var textbox in this.Controls.OfType<TextBox>())
        {
            textbox.ContextMenu = new ContextMenu();
        }
上面的代码仅在文本框不是嵌套格式时才有效。
在我的项目中,我在 tabcontrol 中有多个标签页。所以我不能实现上面的代码。但我可以实现以下代码:
      foreach (TextBox textbox in this.Controls.OfType<TabControl>().SelectMany(tc => tc.Controls.OfType<TabPage>().SelectMany(page => page.Controls.OfType<TextBox>())))
        {
            textbox.ContextMenu = new ContextMenu();
        }
        foreach (var textbox in this.tabCarInsurance.Controls.OfType<TextBox>())
        {
            textbox.ContextMenu = new ContextMenu();
        }
        foreach (var textbox in this.tabHomeLoans.Controls.OfType<TextBox>())
        {
            textbox.ContextMenu = new ContextMenu();
        }
        foreach (var textbox in this.tabRetirement.Controls.OfType<TextBox>())
        {
            textbox.ContextMenu = new ContextMenu();
        }
在这里,我正在为每个 tabControl 实现。我仍然不喜欢(因为我有更多的标签页要处理)。有没有办法减少上面的代码。
我尝试了以下代码:(不工作)
       foreach (var textbox in this.Controls.OfType<TabControl>().OfType<TextBox>())
        {
            textbox.ContextMenu = new ContextMenu();
        }
我从上一个问题中得到了上面的代码知识。
请帮助
提前致谢。