【问题标题】:Cannot set WordWrap option on TextBox inside TabControl无法在 TabControl 内的 TextBox 上设置 WordWrap 选项
【发布时间】:2013-05-20 17:19:55
【问题描述】:

我有一个文本框,它被添加到在运行时创建的每个新选项卡控件选项卡页中。所有属性都设置正确(例如多行等),但是当我尝试从 coedbehind 访问文本框时,没有选项。当它在 tabcontol 的标签页内时,如何设置 wordwrap 打开或关闭?

【问题讨论】:

    标签: c# .net winforms


    【解决方案1】:

    Controls 集合被键入为Control 对象的集合。您需要先将返回的控件转换为 TextBox

    TextBox textBox = tabControl1.SelectedTab.Controls[0] as TextBox;
    if (textBox != null)
    {
        textBox.WordWrap = true;
    }
    

    【讨论】:

    • 我最初尝试过(TextBox)tabControl1.Selectedtab.Controls[0].WordWrap = true;,但这也没有用。我认为那是铸造(以及)?
    • @Joey:你缺少一对括号来工作:((TextBox)tabControl1.Selectedtab.Controls[0]).WordWrap。您的代码尝试将选项卡控件本身转换为TextBox。这种方法和我的代码示例之间的区别在于,如果返回的控件不是TextBox,我的代码示例不会抛出异常。
    【解决方案2】:

    下面试试

    var txtBox= tabControl1.SelectedTab.Controls.OfType<TextBox>().FirstOrDefault() as TextBox;
    if(txtBox != null)
    {
       // do something like txtBox.WordWrap = true;
    }
    

    【讨论】:

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