为啥文本框文本没有从 C# 中的起始位置显示?
Posted
技术标签:
【中文标题】为啥文本框文本没有从 C# 中的起始位置显示?【英文标题】:Why text box text not showing from starting position in c#?为什么文本框文本没有从 C# 中的起始位置显示? 【发布时间】:2013-04-13 14:06:51 【问题描述】:我真的很困惑。请考虑以下情况。
场景: 我有一个带有几个文本框控件的 C# Winform 应用程序。现在,当我在这些文本框中输入数据时,例如“这是我的示例文本框”,它与文本框的可见区域重叠并显示为“AMPLE TEXTBOX”。但我希望文本从起始位置显示,如“这是我的 S”,然后如果需要,重叠。我怎样才能做到这一点?我在下面尝试过,但没有运气。请帮忙。谢谢。
(sender as TextBox).TextAlign = HorizontalAlignment.Left;
编辑
我也在使用AutoCompleteMode.Suggest
,这样当我按下任意键时,将显示类似于下拉列表的相应列表。但是这个列表的第一项是默认选中的,这是我不想要的。你也可以在这方面提出建议吗?谢谢。
最终解决方案 我正在使用它来解决问题
(sender as TextBox).TextAlign = HorizontalAlignment.Left;
(sender as TextBox).Select(0, 0);
感谢@Har Har。
【问题讨论】:
你的文本框够宽吗? no..这就是我尝试从头开始显示文本的原因。增加文本框的宽度不会达到我的目的。 【参考方案1】:我找到了解决办法,要将光标定位在TextBox控件内容的开头,调用Select方法并指定选择开始位置为0,选择长度为0。
private void Form1_Load(object sender, EventArgs e)
textBox1.Text = "Hello this is a sample application";
textBox1.Select(0, 0);
它将在 0 索引处显示光标位置,它正在工作。
【讨论】:
以上是关于为啥文本框文本没有从 C# 中的起始位置显示?的主要内容,如果未能解决你的问题,请参考以下文章
C#中怎样从一个form的文本框获取另一个form中Comobox控件的值