【问题标题】:not able to set readonly property of textboxes in a panel in windows form to true in vb.net无法在 vb.net 中将 windows 窗体面板中文本框的只读属性设置为 true
【发布时间】:2013-12-03 08:36:15
【问题描述】:

我想在窗体加载期间启用窗口窗体面板中所有文本框的只读属性,但它不起作用。我正在使用下面的代码。当我调试代码时,它会跳过那部分。不知道为什么? 下面的代码不起作用,它会跳过该部分,就好像特定面板中没有文本框控件一样。

Private Sub lockgroupcontrols()
    For Each TextBox As TextBox In Pnltransaction.Controls.OfType(Of TextBox)()

        TextBox.ReadOnly = True
    Next
End Sub

【问题讨论】:

    标签: vb.net winforms textbox


    【解决方案1】:

    您的代码似乎是正确的,所以,我只能想象,如果它跳过For Each,那么您在PnlTransaction 面板中没有任何文本框。

    当您将面板绘制在预先存在的文本框上时,有时会发生这种情况。您认为控件位于面板内部,但实际上它们位于面板下方并且您可以看到它们,因为面板背景是透明的。

    尝试将面板移动到其他位置,将文本框拖放到面板上,然后重新定位面板。

    【讨论】:

    • 完美的史蒂夫。我正要回答我自己的问题。当我检查它时。不在面板中的控件。谢谢。我已将它绘制在现有控件上
    • 大家好,如果上述代码在您的 vb.net 代码中不起作用,请确保检查容器中是否包含所有控件。
    【解决方案2】:

    您不应该使用 TextBox 作为变量的名称

       For Each **TextBox** As **TextBox** In 
    

    用for ex试试。

       ...For Each **tBox** As **TextBox** In 
             tBox.ReadOnly = True....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      相关资源
      最近更新 更多