c# textbox 删除上一行内容

如题,怎么做到在多行textbox里把上一行的内容删除?C#windows窗体应用程序... 如题,怎么做到在多行textbox里把上一行的内容删除?
C# windows窗体应用程序
展开
 我来答
dkxpsg
2009-08-10 · TA获得超过1627个赞
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:1039万
展开全部
可以把要删除行的内容设为空,如下删除第一行内容
private void button1_Click(object sender, EventArgs e)
{
int start = textBox1.GetFirstCharIndexFromLine(0);//第一行第一个字符的索引
int end = textBox1.GetFirstCharIndexFromLine(1);//第二行第一个字符的索引
textBox1.Select(start, end);//选中第一行
textBox1.SelectedText = "";//设置第一行的内容为空
}
lonetraveller
2009-08-10 · TA获得超过673个赞
知道小有建树答主
回答量:757
采纳率:0%
帮助的人:344万
展开全部
winform里面多行的话一般用richtextbox比较多功能.但是好像textbox和richtextbox都不能对行来操作,因为你的窗口变化的时候每行都是变化的,可能要实现你的功能要用到扩展控件(用户控件的一种),继承TextBox来做,自己写函数.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2009-08-10 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1383万
展开全部
int record1,record2;
private void button1_Click(object sender, EventArgs e)
{
record1=textBox1.SelectionStart;
record3=textBox1.SelectionLength;
int index = CurrentLine()-1;
if (index >= 0)
{
record2 = textBox1.Lines[index].Length + 2;
int count = 0;
String[] lines = new String[textBox1.Lines.Length - 1];
for (int i = 0; i < textBox1.Lines.Length; i++)
{
if (i != index)
{
lines[count] = textBox1.Lines[i];
count++;
}
}
textBox1.Lines = lines;
}
else record2 = 0;
textBox1.Focus();
textBox1.SelectionStart = record1 - record2;
textBox1.SelectionLength = 0;
}
private int CurrentLine()
{
int position = textBox1.SelectionStart;
for (int i = 0; i < textBox1.Lines.Length; i++)
{
position -= textBox1.Lines[i].Length;
if (position == 0)
{
return i;
}
if (position >= 2 && position <= textBox1.Lines[i + 1].Length+2)
{
return i + 1;
}
position -= 2;
}
return textBox1.Lines.Length;
}
这个是把上一行彻底删除,包括回车符,CurrentLine函数用来获取当前光标在哪行,如果要删成空白,就把
if (i != index)
{
lines[count] = textBox1.Lines[i];
count++;
}
改成
if (i != index)
{
lines[count] = textBox1.Lines[i];
count++;
}
else
{
lines[count] = "";
count++;
}
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Book_OnLine
2009-08-10 · TA获得超过231个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:147万
展开全部
string str = textBox.Lines.GetValue(int index);//获得指定行内容
textBox.Text.Replace(str, "");//将获得内容替换成空
看看这样行不行!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友41b31623
2009-08-10 · TA获得超过216个赞
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:166万
展开全部
是js实现吗?是的话hi我发给你

参考资料: 如果您的回答是从其他地方引用,请表明出处

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式