我在Visual C#Express 2010表单应用程序中有一个路径选择器。TextBox.TextAlign右侧对齐在某些情况下没有效果?
我使用FolderBrowserDialog
和(单行)TextBox
来做它,以显示选定的路径。在我的UI刷新代码中使用以下行。
this.textBoxFolder.Text = this.folderBrowserDialog1.SelectedPath;
的只读属性设置为真和textAlign设置属性使用窗体设计器设置为右,因为所选择的路径往往长于文本框,我更喜欢展示路径的右侧。表单设计器生成此:
//
// textBoxFolder
//
this.textBoxFolder.Location = new System.Drawing.Point(40, 72);
this.textBoxFolder.Name = "textBoxFolder";
this.textBoxFolder.ReadOnly = true;
this.textBoxFolder.Size = new System.Drawing.Size(160, 20);
this.textBoxFolder.TabIndex = 13;
this.textBoxFolder.TabStop = false;
this.textBoxFolder.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
只要所选路径短于文本框大小,右对齐工作。 (但这并不重要)
只要所选路径长于文本框大小,右对齐无效,文本框中的字符串将显示为使最左侧的字符可见,大部分都隐藏着。
我知道,在一个正常的单行文本框(ReadOnly = false
),当一个过长的字符串是手工键入,最右边的字符是可见的,甚至当焦点消失,不管textAlign设置是否设置到左/右/中心!
换句话说,我的目标是,当TextBox.Text以编程方式设置(而不是键入),并且该字符串比TextBox的宽度更长时,我如何获得最右边的字符可见?
谢谢!设置'SelectionStart'完成了我想要的! – gus 2013-03-13 12:05:13