C#中如何实现文本框的退格操作?
我想在点击一个名为“bottom1"的按钮时,使一个名为"text1"的文本框实现退格操作,怎样实现?具体代码是什么?用sendkeys.send()???...
我想在点击一个名为“bottom1"的按钮时,使一个名为"text1"的文本框实现退格操作,怎样实现?具体代码是什么?用sendkeys.send()???
展开
4个回答
展开全部
利用代码实现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可以换成其它的键盘码就可以输入其它的字符了:)
首先要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);
textBox1.Text = msg.Substring(0, msg.Length - 1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询