C#中如何实现文本框的退格操作?

我想在点击一个名为“bottom1"的按钮时,使一个名为"text1"的文本框实现退格操作,怎样实现?具体代码是什么?用sendkeys.send()???... 我想在点击一个名为“bottom1"的按钮时,使一个名为"text1"的文本框实现退格操作,怎样实现?具体代码是什么?用sendkeys.send()??? 展开
 我来答
freeeeeewind
2015-08-09 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1353万
展开全部

利用代码实现TextBox中退格操作的方法如下:

(1)在Visual Studio中新建一个“Windows 窗体应用程序”

(2)在Form1上布置一个TextBox和一个命令按钮

(3)Form1窗体代码Form1.cs

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Text = "退格(Backspace)";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //首先,使textBox1获取焦点
            textBox1.Focus();
            //然后,向获得焦点的控件向发送击键 Backspace
            SendKeys.Send("{BACKSPACE}");
        }
    }
}

(4)运行效果

启动,在texbbox中输入一些内容

点击命令按钮后

再次点击命令按钮

匿名用户
2013-11-18
展开全部
楼上的调用了API函数,存在不安全代码(unsafe)
一楼的可以,性能差异很小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-18
展开全部
用substring的方法是可以(模拟退格键的效果),但是需要把文本框中的数据提取出来,再减少一位,再写进去,这样效率就很低了,可以用sendmessage的方法,就可以比较高效的实现楼主需要的要求了(真正的退格键)。
首先要using System.Runtime.InteropServices;
接着声明对sendmessage的引用:
[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
这个写在窗口的成员变量里面。
最后就是在按钮事件里面调用:SendMessage(textBox1.Handle, 258,(IntPtr)8, IntPtr.Zero);
其中textBox1.Handle是文本框的句柄,258是输入时间的消息码,8是退格键的键盘码,8可以换成其它的键盘码就可以输入其它的字符了:)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-18
展开全部
string msg = textBox1.Text;
textBox1.Text = msg.Substring(0, msg.Length - 1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式