C#如何用B控制A窗体上的控件

在A窗体中实例化一新窗体B如何用B控制A窗体上的控件(如textBox.text的内容)... 在A窗体中
实例化一新窗体B
如何用B控制A窗体上的控件(如textBox.text的内容)
展开
 我来答
创作者zUzVB1Sl31
2014-12-26 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5974

向TA提问 私信TA
展开全部

在A中这么写:

public static String str="";
//加载实例化窗体的时候
void loadFormB()
{
  textBox1.Text=str;
  B frm=new B();

  B.ShowDialog();
}

在B中这样写代码:

//B中的事件给A窗体控件传值【实例操作】
void ToAControl()
{
  A.str=textBox2.Text;   //B里面的textBox2给A里面的textBox1传值
}

好了你在B里面文本框输入,A里面也会显示了。

但是如果你这俩不是一个应用程序,那就不是实例之间传值了,那就是进程传值,需要获取窗体句柄和扫描控件十六进制ID,比较繁琐,我就不一一介绍。

SWEETSWISS
2014-12-24 · TA获得超过562个赞
知道小有建树答主
回答量:701
采纳率:0%
帮助的人:184万
展开全部
在初始化B时把A窗口传给B就可以修改A的控件了。在B中用A.控件名.属性=。。。即可
更多追问追答
追问
在初始化B时把A窗口传给B ?
怎么做?
搞不清楚!!
追答
给B的初始化加上Form 参数
然后在A中用
FormB b = new FormB(this);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2014-12-23 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
方法很多,比如说原来的b是
public class formB
{

}
那就加上
public class formB
{
formA _frm=null;
public formb(formA frm)
{
_frm=frm;

}
}

在A中实例化的时候就是
formB b=new formB(this);

然后你在B中就可以用_frm来调用
追问
不行

你给formB上放个按钮,formA上放个按钮textBox

要点击formB上的按钮改变textBox的内容
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱夜009
2014-12-26 · TA获得超过191个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:206万
展开全部
1、可以把B作为一个dialog 关闭时返回一个值 dialogResult
2、定义static 数据池 并创建事件 A绑定事件
3、A创建静态属性 触发事件 同时A绑定事件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d242235
2014-12-24 · TA获得超过2385个赞
知道大有可为答主
回答量:1403
采纳率:84%
帮助的人:801万
展开全部
B里面增加一个public的方法:
public void SetText(string text)
{
textBox.Text = text;
}

A里面实例化B并且调用这个方法,具体可以放在某个按钮的Click下:
public void btn_Click()
{
FormB b = new FormB();

b.SetText("hello");

}
追问
是A new B
然后由B控制A
追答
你基础太差了,这么一步步教你传参数搞细节太累,我放弃。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式