我的 Visual C# Express 2010 表单应用程序中有一个路径选择器。
我使用 aFolderBrowserDialog
和 a (single line)TextBox
来显示所选路径。在我的 UI 刷新代码中使用以下行。
this.textBoxFolder.Text = this.folderBrowserDialog1.SelectedPath;
使用表单设计器将ReadOnly属性设置为true并将TextAlign属性设置为Right,因为所选路径通常比 TextBox 长,并且我更喜欢显示路径的右侧。表单设计器生成:
//
// 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;
只要所选路径短于文本框大小,右对齐就会起作用。(但这并不重要)
每当所选路径长于文本框大小时,右对齐无效,文本框中的字符串显示为最左边的字符可见,而最右边的字符被隐藏。
我知道在普通的单行 TextBox ( ReadOnly = false
) 中,当手动输入过长的字符串时,即使焦点消失,最右边的字符也是可见的,无论TextAlign 是否设置为左/右/居中!
换句话说,我的目标是,当 TextBox.Text 以编程方式设置(而不是输入)并且字符串比 TextBox 的宽度长时,如何让最右边的字符可见?