c#编写的查找和替换

来源:百度知道 编辑:UC知道 时间:2024/06/02 10:22:54
前几天用c#编了个简单的记事本程序,其他都搞定了,就是在做查找和替换时有点麻烦,我做了个form2作为查找和替换的对话框,定义了一个全局的静态数a来传值,先把form1里的richtextbook.text传给了a,然后把form2显示出来,在form2里把a修改后,怎么把他再传回richtextbook,我是新手,我在form2里new了一个form1出来,把a的值赋给form1的richbooktext,可运行后发现form1的richbooktext里的内容都没变,这是怎么回事
a的类型没问题,是public static,也是专门建了个class来放的,这都没问题,就是在form2里查看a的结果也都是对的,就是没办法把他写入form1

你在form2中定义一个 form1变量如下

form1中Show form2时
form2 f2 = new form2();
f2.setValue(this);//把自己整个传过去

form2 中
public partial class form2 : Form
{
..//一些其它代码
form1 F1;
//定义form1传值接口
void setValue(form1 Form1)
{
this.F1 = Form1;
this.Show();
this.richtextbook.text = F1.richtextbook.text;
}
要改form1的richtextbook.text时就
F1.richtextbook.text = “一二三”;

//妈的,我不是说你把Form1整个传过去吗~再把那个richtextbook设为公有,然后在form2里你控制F1爱怎么样就怎么样~

那么建议把a 定义成public static 类型
应该可以搞定的···

既然是全局的,把static去掉试下

能问下,你的a是定义在哪里吗?

我建议就是在定义个类,用这个类专门存储a这类的传值用的数据。

如果说你的a定义在form1中,你在new的时候,就把form1又重新的声明了一遍,在重新声明的那个form1中a就不存在了。

访问权限的问题.

直接在form2里写Form1.richbooktext.Regex.Replace(source, pattern,destination, RegexOptions.IgnoreCase);