C#怎么在一个窗体里点击按钮调用另一个窗体的方法?请看具体信息
我现在要做个项目有个功能没弄出来老师们多帮帮我说简单些假如有两个窗体A和B点击A中的按钮,然后A窗体隐藏或关闭,调用B窗体中的方法而实现功能,从而刷新B窗体中datagr...
我现在要做个项目 有个功能没弄出来 老师们多帮帮 我说简单些
假如有两个窗体A 和B 点击A中的按钮,然后A窗体隐藏或关闭,调用B窗体中的方法而实现功能,从而刷新B窗体中datagridview的数据 B中的方法用到很多B窗体中的控件 我试着在A中重写了次这个方法 ,把B窗体中控件的Modifiers设为public 但是B中这个控件明明有值,但是在A中调用时值就没了,比如我在A中获取B中dagagridview的行数,datagridview有很多行数据,但在A里面行数就是0
这怎么实现啊 求教 解决后追50分 展开
假如有两个窗体A 和B 点击A中的按钮,然后A窗体隐藏或关闭,调用B窗体中的方法而实现功能,从而刷新B窗体中datagridview的数据 B中的方法用到很多B窗体中的控件 我试着在A中重写了次这个方法 ,把B窗体中控件的Modifiers设为public 但是B中这个控件明明有值,但是在A中调用时值就没了,比如我在A中获取B中dagagridview的行数,datagridview有很多行数据,但在A里面行数就是0
这怎么实现啊 求教 解决后追50分 展开
5个回答
展开全部
两种方法,一种是委托,把A窗体的函数传递到B窗体中
B窗体实例化的时候把A窗体当成参数传过去
B窗体实例化的时候把A窗体当成参数传过去
更多追问追答
追问
但是我要调用的方法里有很多控件 到了A窗体中控件的值就没了
追答
你是怎么做的?
B窗体里面直接
Form A = new A();
这样因为是新的实力,当然没值了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是有点没看明白,不过如果你只是单纯的想把A窗体中的数据传到B窗体中不防可以试试委托
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用委托?在A中声明委托,在B中给委托赋值(赋方法),回到A中调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在A中实例化B就可以调用B的成员了
追问
但是B里面的方法有很多B窗体的控件
追答
在B中定义公共函数,A中调用这个方法
A事件
private void button2_Click(object sender, EventArgs e)
{
Form1 f = new Form1();
MessageBox.Show(f.getw());
}
B方法
public string getw()
{
return textBox1.Text;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询