vb.net将光标放置在比文本框长度大一个空格的位置

vb.net将光标放置在比文本框长度大一个空格的位置,vb.net,textbox,Vb.net,Textbox,我有一个文本框,其中包含文本“文件已创建” 我想将光标放在文本框中文本末尾的一个空格处 我尽量不说这是一项足够简单的任务,但我已经浪费了2个小时没有解决方案 是的,我知道如果我将文本更改为“文件已创建”,它将无法作为解决方案 下面是我尝试过的代码混乱 Dim L As Integer L = tbMessage.Text.Length L += 1 'tbMessage.Text = CStr(L) 'tbHaveT

我有一个文本框,其中包含文本“文件已创建”
我想将光标放在文本框中文本末尾的一个空格处
我尽量不说这是一项足够简单的任务,但我已经浪费了2个小时没有解决方案
是的,我知道如果我将文本更改为“文件已创建”,它将无法作为解决方案

下面是我尝试过的代码混乱

        Dim L As Integer
        L = tbMessage.Text.Length
        L += 1
        'tbMessage.Text = CStr(L)
        'tbHaveTwo.Text = frmOne.vR
        'Me.ActiveControl = tbMessage
        'tbMessage.SelectionStart = tbMessage.Text.Length

        tbMessage.SelectionStart = L
        tbMessage.Select()<br/>
Dim L作为整数
L=tbMessage.Text.Length
L+=1
'tbMessage.Text=CStr(L)
'tbHaveTwo.Text=frmOne.vR
'Me.ActiveControl=tbMessage
'tbMessage.SelectionStart=tbMessage.Text.Length
tbMessage.SelectionStart=L
tbMessage.Select()
以下是两种解决此问题的更新方法Jimi way less代码

         tbMessage.Text = "File Was Created"
        'This Code involves more code 
        'Dim str As String
        'str = Mid(tbMessage.Text, tbMessage.Text.Length)
        'If str <> " " Then
        '    tbMessage.Text = tbMessage.Text & " "
        'End If
        'Answer from Jimi Works Great 
        tbMessage.AppendText(ChrW(32))
        tbMessage.SelectionStart = tbMessage.Text.Length
        tbMessage.Select()
tbMessage.Text=“文件已创建”
"这个代码涉及的代码更多,
'将str设置为字符串
'str=Mid(tbMessage.Text,tbMessage.Text.Length)
“如果str”则
'tbMessage.Text=tbMessage.Text&'
"完"
吉米的回答很好
tbMessage.AppendText(ChrW(32))
tbMessage.SelectionStart=tbMessage.Text.Length
tbMessage.Select()

这样你就不会在邮件末尾留下大量空格了

tbMessage.AppendText(If(tbMessage.Text.EndsWith(" "), "", " "))
tbMessage.SelectionStart = tbMessage.TextLength
tbMessage.Focus()

你是说
tbMessage.SelectionStart=tbMessage.TextLength
?您的文本框中是否只有该文本?还是你需要找到它?一个空格表示什么?你想在该字符串后插入空格,以防它是唯一的一个吗?@Jimi文本框中的所有内容都是“文件已创建”不,我可以看到它我想在文本框获得焦点时将光标放在文本右侧一个空格不想在字符串后插入空格,除非这是唯一的选项我不明白为什么L+=1不起作用如果您只有该文本,并且希望插入符号在文本后移动一个空格,您必须在该文本的末尾添加一个空格,否则插入符号将无法移动。您可以设置
SelectionStart=100000000
,它将始终位于该字符串的末尾,而不是后面数千个(不存在)空格。除非您只想在字符串后面一个空格处绘制插入符号。我们可以用图形来解决问题。如果您只需要
tbMessage.AppendText(ChrW(32))就可以了tbMessage.SelectionStart=tbMessage.TextLength
这是现在最令人沮丧的简单任务,当我导航回包含tbMessage的表单时,我不能给它焦点选项卡索引为0不是一个新问题,只是太多的工作无法控制导航,以便重新关注未关闭但我已关闭的启动表单。在您之前隐藏导航到新表单make this call Me.Dispose(),然后是Me.Hide和frmTwo.Show在从frmTwo返回的过程中,文本框将获得焦点在这个问题的上下文中,您额外的注释几乎没有意义。如果您需要焦点问题方面的帮助,我会提出一个新问题,并发布打开和关闭相关表单的代码。有点不对劲…我同意你上面的评论你的评论解释了我所做的事情我可以补充一点,我做了一些不同的事情,隐藏和显示除启动窗体以外的所有其他窗体我在一个模块中编写了一个函数我只知道你不能使用我。在属性中关闭启动窗体我将所有窗体设置为最后一个窗体时接近