我有一个文本框,我可以通过单击按钮来查找和替换内容,但它不会更改文本框本身。 下面是我用来改变一些东西的代码:
private void button2_Click_1(object sender, EventArgs e)
{
var abc = textBox1.Text.Between("abc", "&");
var def = textBox1.Text.Between("def", "&");
var ghi = textBox1.Text.Between("ghi", "&");
var jkl = textBox1.Text.Between("jkl", "&");
var test = abc.Replace("" + abc + "", "any");
var test1 = def.Replace("" + def + "", "any");
var test2 = ghi.Replace("" + ghi + "", "any");
var test3 = jkl.Replace("" + jkl + "", "any");
}
现在我正在使用按钮,但是当我启动按钮时,它不会改变文本框中的任何内容。
我一直在谷歌上搜索,发现this.textBox1.Refresh();
但这也不会改变任何事情。
所有的帮助都会很棒,感谢提前..
答案 0 :(得分:0)
您必须将更改后的string
分配回textBox1
。这样的事情。
编辑:假设你的意思是this
private string findBetweenMethod(string text, string start, string end){
string betweenText = text;
.... //process
return betweenText;
}
private void button2_Click_1(object sender, EventArgs e)
{
var abc = findBetweenMethod(textBox1.Text,"abc", "&"); //find what to change
textBox1.Text = textBox1.Text.Replace(abc, "any"); //change it, assign it back to the textBox1
var def = findBetweenMethod(textBox1.Text,"def", "&");
textBox1.Text = textBox1.Text.Replace(def, "any");
var ghi = findBetweenMethod(textBox1.Text,"ghi", "&");
textBox1.Text = textBox1.Text.Replace(ghi, "any");
var jkl = findBetweenMethod(textBox1.Text,"jkl", "&");
textBox1.Text = textBox1.Text.Replace(jkl, "any");
}
注意:请注意您的文字模式。上述方法假设干净,单一,模式。也就是说,你真正想要的是在“abc”和“&”之间(依此类推)并且除了预期的模式之外,没有其他地方重复这种模式。
但这里的基本想法是将已更改的string
分配回textBox1
,正如@sharpstudent和其他人所解释的那样