WinForm如何在TextBox上输入一个退格符
先强调一下,是WinForm程序,不是asp.net,否则我会到Web组发帖了。
为WinForm的TextBox做了一个类似软键盘的东西,可以用类似下面的语句给TextBox的光标当前位置插入一个字符:
txtContent.Paste("A");
或者在光标所在处插入一个回车换行符:
txtContent.Paste("\r\n");
但是如果我想在光标所在位置处进行删除,就象按了退格键一样,应该怎么做?
我试过插入退格符是不行的:
txtContent.Paste("\b");
------解决方案--------------------C# code
#region 退格删除
/// <summary>
/// 退格删除
/// </summary>
private void backSpace()
{
if (this.tempStr.Length > 0)
{
this.tempStr = this.tempStr.Remove(this.tempStr.Length - 1);
this.txtMsg.Text = tempStr;
}
}
#endregion
------解决方案--------------------
实在不行用win API, sendinput, sendmessage 之类
------解决方案--------------------
txtContent.Text = txtContent.Text.SubString(0, txtContent.Text.Length - 1);
------解决方案--------------------
------解决方案--------------------
哦。。。
if (txtContent.SelectStart != 0)
{
int pos = txtContent.SelectStart;
txtContent.Text = txtContent.Text.SubString(0, txtContent.SelectStart - 1) + txtContent.Text.SubString(txtContent.SelectStart + txtContent.SelectLength);
textContent.SelectStart = pos - 1;
}
------解决方案--------------------
把光标处的字符删了不就相当于退格了么。