0
Iは、コントロールを作成するクラスがある:別のクラスからMaskedTextBoxのvb.netの先頭にカーソルを置く
Overrides Sub createControls()
_GlobalCounter = 0
Dim lblName As New Label
lblName.Text = "Store Name"
Dim txtName As New MaskedTextBox
txtName.Mask = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
txtName.Text = name
addControl(lblName, txtName)
' txtName.SelectionStart = txtName.Text.Length()
' txtName.SelectionLength = 0
' txtName.SelectionStart = 0
' txtName.SelectionLength = 0
addEntityControls()
End Sub
Iは、以下の方法を使用して、これらのコントロールを呼び出し、動的フォームを有する:
をフォーム自体にPublic Function returnEditorControls() As Control()
createControls()
Return _Controls
End Function
:
Public Sub loadEditor()
Dim controlCount As Integer = 0
createControls()
tlpMain.Controls.Clear()
tlpMain.ColumnStyles.Clear()
tlpMain.RowStyles.Clear()
tlpMain.ColumnCount = _ColumnCount
Dim intControls As Integer = myControls.Length()
Dim intTotalRows As Integer = intControls/_ColumnCount
If (intControls Mod _ColumnCount) > 0 Then
intTotalRows += 1
End If
tlpMain.RowCount = intTotalRows
For row = 0 To intTotalRows - 1
tlpMain.RowStyles.Add(New RowStyle(SizeType.Percent, 100/tlpMain.RowCount()))
For column = 0 To _ColumnCount - 1
If controlCount < intControls Then
tlpMain.Controls.Add(myControls(controlCount), column, row)
controlCount += 1
End If
Next
Next
End Sub
私の問題は、動的にコントロールを作成したということですカーソルはMaskedTextBoxの先頭に置かれません。私はコメントされた方法を試み、彼らは働かなかった。また、テキストボックスがいっぱいの場合は、テキストの最後にカーソルを置きます。私はカーソルが何かをすることはできませんが、クリックされた場所に留まります。
チェックこのアウト[リンク](http://stackoverflow.com/questions/1435376/masked-textbox-input-align-left) – 3vts
'txtName.Select(txtName.TextLength、0)'おそらくあなたは何をしています。 – Bugs
@Bugs:ほぼ。それは終わりにキャレットを置きますが、彼は最初にそれを望みます。 :) –