我的 Visual C# Express 2010 表单应用程序中有一个路径选择器。
我用的是FolderBrowserDialog
和一个(单行)TextBox
,显示所选路径。在我的 UI 刷新代码中使用以下行。
this.textBoxFolder.Text = this.folderBrowserDialog1.SelectedPath;
The ReadOnly属性设置为true and 文本对齐属性设置为Right使用表单设计器,因为所选路径通常比文本框长,而且我更喜欢显示路径的右侧。表单设计器生成以下内容:
//
// 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 的宽度长时,如何使最右边的字符可见?