12 个解决方案
#1
晕了 form3中建个form1的实例
form1 form1 = new form1();
form1.funx(int "");
form1 form1 = new form1();
form1.funx(int "");
#2
关注,这样会不会内存中又有个副本了?引用名字空间可以吗?
#3
如果该方法是实例方法,则form3里一定要有form1的引用,可以通过构造函数或者属性把form1的引用传过来(先传到form2 再到form3)
如果是静态方法就简单多了,Form1.fun();
如果是静态方法就简单多了,Form1.fun();
#4
用事件委托方式
#5
form a=new form();
a.funx()
a.funx()
#6
如果只是使一个方法,不多最先的form1修改:
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
如果你要修该最先的form1,得用其他方法;
如:
1.在form2中添加属性和字段
Form1 f = null;
gForm1
{
set{f=value}
}
2.form1在打开form2之前对f赋值;
Form2 form2 = new Form2();
form2.gForm1 = this;
form2.Show();
3.在form3中添加属性和字段;
Form1 f = null;
hForm1
{
set{f=value}
}
4.fom2中打开form3同样操作;
Form3 form3 = new Form3 ();
Form3 .hForm1 = f;
Form3 .Show();
5.最后你就可以修改已经带开的form1了;
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
如果你要修该最先的form1,得用其他方法;
如:
1.在form2中添加属性和字段
Form1 f = null;
gForm1
{
set{f=value}
}
2.form1在打开form2之前对f赋值;
Form2 form2 = new Form2();
form2.gForm1 = this;
form2.Show();
3.在form3中添加属性和字段;
Form1 f = null;
hForm1
{
set{f=value}
}
4.fom2中打开form3同样操作;
Form3 form3 = new Form3 ();
Form3 .hForm1 = f;
Form3 .Show();
5.最后你就可以修改已经带开的form1了;
#7
在Form1里面对自己做静态public static Form1 frm = new Form1(),在Form3就可以通过Form1.frm.fun()去调用了!
#8
把你那个函数写成静态的
#9
一个是使用静态方法的调用,也是做简单的调用直接:Form1.Fun();
实例方法则要应用Form1的实例,
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
实例方法则要应用Form1的实例,
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
#10
TO:
xiao_p(曼沙珠华) 是想要调用原来的Form1实例(且这个函数会改Form1实例上的一些东西)
leirenqi(混混) '用事件委托方式',怎么用的呢
_jfeng(静心) 以下代码在form2的什么地方写呢
Form1 f = null;
gForm1
{
set{f=value}
}
我在public Form2()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
的下面写入的结果在
set {f = value;} 行报错:应输入 ;
xiao_p(曼沙珠华) 是想要调用原来的Form1实例(且这个函数会改Form1实例上的一些东西)
leirenqi(混混) '用事件委托方式',怎么用的呢
_jfeng(静心) 以下代码在form2的什么地方写呢
Form1 f = null;
gForm1
{
set{f=value}
}
我在public Form2()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
的下面写入的结果在
set {f = value;} 行报错:应输入 ;
#11
public static Form1 form = new Form1(),
Form1.form.fun)
还要注意一定要把你调用的函数和变量改为PUBLIC!!!
Form1.form.fun)
还要注意一定要把你调用的函数和变量改为PUBLIC!!!
#12
//全局变量
private Form1 f = null;
public gForm1
{
set{f=value};
}
private Form1 f = null;
public gForm1
{
set{f=value};
}
#1
晕了 form3中建个form1的实例
form1 form1 = new form1();
form1.funx(int "");
form1 form1 = new form1();
form1.funx(int "");
#2
关注,这样会不会内存中又有个副本了?引用名字空间可以吗?
#3
如果该方法是实例方法,则form3里一定要有form1的引用,可以通过构造函数或者属性把form1的引用传过来(先传到form2 再到form3)
如果是静态方法就简单多了,Form1.fun();
如果是静态方法就简单多了,Form1.fun();
#4
用事件委托方式
#5
form a=new form();
a.funx()
a.funx()
#6
如果只是使一个方法,不多最先的form1修改:
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
如果你要修该最先的form1,得用其他方法;
如:
1.在form2中添加属性和字段
Form1 f = null;
gForm1
{
set{f=value}
}
2.form1在打开form2之前对f赋值;
Form2 form2 = new Form2();
form2.gForm1 = this;
form2.Show();
3.在form3中添加属性和字段;
Form1 f = null;
hForm1
{
set{f=value}
}
4.fom2中打开form3同样操作;
Form3 form3 = new Form3 ();
Form3 .hForm1 = f;
Form3 .Show();
5.最后你就可以修改已经带开的form1了;
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
如果你要修该最先的form1,得用其他方法;
如:
1.在form2中添加属性和字段
Form1 f = null;
gForm1
{
set{f=value}
}
2.form1在打开form2之前对f赋值;
Form2 form2 = new Form2();
form2.gForm1 = this;
form2.Show();
3.在form3中添加属性和字段;
Form1 f = null;
hForm1
{
set{f=value}
}
4.fom2中打开form3同样操作;
Form3 form3 = new Form3 ();
Form3 .hForm1 = f;
Form3 .Show();
5.最后你就可以修改已经带开的form1了;
#7
在Form1里面对自己做静态public static Form1 frm = new Form1(),在Form3就可以通过Form1.frm.fun()去调用了!
#8
把你那个函数写成静态的
#9
一个是使用静态方法的调用,也是做简单的调用直接:Form1.Fun();
实例方法则要应用Form1的实例,
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
实例方法则要应用Form1的实例,
form1 form1 = new form1();
form1.funx(int "");
form1.Dispose();//释放;
#10
TO:
xiao_p(曼沙珠华) 是想要调用原来的Form1实例(且这个函数会改Form1实例上的一些东西)
leirenqi(混混) '用事件委托方式',怎么用的呢
_jfeng(静心) 以下代码在form2的什么地方写呢
Form1 f = null;
gForm1
{
set{f=value}
}
我在public Form2()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
的下面写入的结果在
set {f = value;} 行报错:应输入 ;
xiao_p(曼沙珠华) 是想要调用原来的Form1实例(且这个函数会改Form1实例上的一些东西)
leirenqi(混混) '用事件委托方式',怎么用的呢
_jfeng(静心) 以下代码在form2的什么地方写呢
Form1 f = null;
gForm1
{
set{f=value}
}
我在public Form2()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
的下面写入的结果在
set {f = value;} 行报错:应输入 ;
#11
public static Form1 form = new Form1(),
Form1.form.fun)
还要注意一定要把你调用的函数和变量改为PUBLIC!!!
Form1.form.fun)
还要注意一定要把你调用的函数和变量改为PUBLIC!!!
#12
//全局变量
private Form1 f = null;
public gForm1
{
set{f=value};
}
private Form1 f = null;
public gForm1
{
set{f=value};
}