Textbox.Select(0,0)不起作用

时间:2015-03-16 05:54:10

标签: c# visual-studio-2012 textbox multiline cursor-position

我开发了一个用于聊天的Windows应用程序。我正在使用多行文本框来输入聊天消息。输入消息后,用户必须按Enter或单击“发送”按钮将消息发送到另一端。这两个动作都调用了btnSend_Click()。这是代码

private void btnSend_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtChat.Text.Trim()))
            {
                CreateNewMessage(txtChat.Text.Trim());
                txtChat.Clear();
                txtChat.Select(0, 0);
            }
        }

但是txtChat.Select(0,0)不会将光标移到文本框的最开头。按Enter键后,光标始终到达第二行的起始位置,或单击“发送”按钮。为什么这段代码不起作用?请解释一下。请建议我解决这个问题。

P.S - 是否有其他方法将光标定位在多行文本框的开头?

1 个答案:

答案 0 :(得分:-1)

以下是您解决问题的方法。请替换

txtChat.Clear();
txtChat.Select(0, 0);

txtChat.ResetText(); // it will reset the entire textbox once you click button.
txtChat.Focus(); // this will keep the focus back to text box and bring the cursor back to the very beginning of the textbox.