【发布时间】:2013-05-20 17:19:55
【问题描述】:
我有一个文本框,它被添加到在运行时创建的每个新选项卡控件选项卡页中。所有属性都设置正确(例如多行等),但是当我尝试从 coedbehind 访问文本框时,没有选项。当它在 tabcontol 的标签页内时,如何设置 wordwrap 打开或关闭?
【问题讨论】:
我有一个文本框,它被添加到在运行时创建的每个新选项卡控件选项卡页中。所有属性都设置正确(例如多行等),但是当我尝试从 coedbehind 访问文本框时,没有选项。当它在 tabcontol 的标签页内时,如何设置 wordwrap 打开或关闭?
【问题讨论】:
Controls 集合被键入为Control 对象的集合。您需要先将返回的控件转换为 TextBox:
TextBox textBox = tabControl1.SelectedTab.Controls[0] as TextBox;
if (textBox != null)
{
textBox.WordWrap = true;
}
【讨论】:
(TextBox)tabControl1.Selectedtab.Controls[0].WordWrap = true;,但这也没有用。我认为那是铸造(以及)?
((TextBox)tabControl1.Selectedtab.Controls[0]).WordWrap。您的代码尝试将选项卡控件本身转换为TextBox。这种方法和我的代码示例之间的区别在于,如果返回的控件不是TextBox,我的代码示例不会抛出异常。
下面试试
var txtBox= tabControl1.SelectedTab.Controls.OfType<TextBox>().FirstOrDefault() as TextBox;
if(txtBox != null)
{
// do something like txtBox.WordWrap = true;
}
【讨论】: