我在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