社区
C#
帖子详情
如何从窗口B访问窗口A的某个控件?
gzhoney
2008-01-03 04:06:19
我想在窗口B的某个按钮被按下后,即向窗口A的文本框txtA内写一个字符串,请问窗口B的代码该如何写呢?
我用frmA.ActiveForm.txtA,却发现txtA不存在,请教高手!
...全文
267
18
打赏
收藏
如何从窗口B访问窗口A的某个控件?
我想在窗口B的某个按钮被按下后,即向窗口A的文本框txtA内写一个字符串,请问窗口B的代码该如何写呢? 我用frmA.ActiveForm.txtA,却发现txtA不存在,请教高手!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gzhoney
2008-01-04
打赏
举报
回复
感谢
gzhoney
2008-01-04
打赏
举报
回复
非常感谢各位!
fish_yht
2008-01-03
打赏
举报
回复
最简单方法:
定义窗体属性
比如:
f1调用f2
在f2中定义访问器如下:
public ControlType Name
{
set{ControlName = value;}
get{return ControlName;}
}
在f1中只要实例化f2
然后f2.Name.属性或方法名
_________________________
ok
简单实用
春天的气息
2008-01-03
打赏
举报
回复
用最简单的,申明public字符串变量传过去!
hsoft2006
2008-01-03
打赏
举报
回复
在B窗口中声明一个公共的字符串属性,在A窗口中直接调用即可
syxsyx7
2008-01-03
打赏
举报
回复
三种方法..
1.把所需要的控件数据定义成为属性
2.通过构造方法(作为参数传递)
3.通过委托事件
咏方舟【长江支流】
2008-01-03
打赏
举报
回复
方法一:
在B窗口设置一个ATextBox属性
A窗口打开B窗口:
BForm frm = new BForm ();
frm.ATextBox = this.textBox1;
frm.ShowDialog();
B窗口操作后,你直接在B窗口中设置ATextBox .Text="abc";
方法二:
观察者模式,请参考书
http://blog.csdn.net/flygoldfish
changjiangzhibin
2008-01-03
打赏
举报
回复
在A窗体中定义一个public 的string 变量,将txtA的值赋给该变量,
再在B窗体中访问
pfworld
2008-01-03
打赏
举报
回复
CON-如何在子窗体(被调用者)中实现对其父窗体(调用者)的刷新呢?
网络上有几种方法,先总结如下:
调用窗体(父):Form1,被调用窗体(子):Form2
方法1: 所有权法
//Form1:
//需要有一个公共的刷新方法
public void Refresh_Method()
{
//...
}
//在调用Form2时,要把Form2的所有者设为Form1
Form2 f2 = new Form2() ;
f2.Owner = this;
f2.ShowDialog() ;
//Form2:
//在需要对其调用者(父)刷新时
Form1 f1 ;
f1 = (Form1)this.Owner;
f1.Refresh_Method() ;
方法2:自身传递法
//Form1:
//需要有一个公共的刷新方法
public void Refresh_Method()
{
//...
}
Form2 f2 = new Form2() ;
f2.ShowDialog(this) ;
//Form2:
private Form1 p_f1;
public Form2(Form1 f1)
{
InitializeComponent();
p_f1 = f1;
}
//刷新时
p_f1.Refresh_Method() ;
方法3:属性法
//Form1:
//需要有一个公共的刷新方法
public void Refresh_Method()
{
//...
}
//调用时
Form2 f2 = new Form2() ;
f2.P_F1 = this;
f2.Show() ;
//Form2:
private Form1 p_f1;
public Form1 P_F1
{
get{return p_f1;}
set{p_f1 = value;}
}
//刷新时
p_f1.Refresh_Method() ;
方法4:委托法
//声明一个委托
public delegate void DisplayUpdate();
//Form1:
//需要有一个公共的刷新方法
public void Refresh_Method()
{
//...
}
//调用时
Form2 f2 = new Form2() ;
f2.ShowUpdate += new DisplayUpdate(Refresh_Method) ;
f2.Show() ;
//Form2:
//声明事件
public event DisplayUpdate ShowUpdate;
//刷新时,放在需要执行刷新的事件里
ShowUpdate();
kuqideyizi2008
2008-01-03
打赏
举报
回复
直接传真过去在A中接收写入到A中
bluedodo
2008-01-03
打赏
举报
回复
用委托好些
zlin_king
2008-01-03
打赏
举报
回复
"我用frmA.ActiveForm.txtA,却发现txtA不存在,请教高手!"
你这个frmA是什么啊?是你实例化后赋值的窗口A类型的变量吗?
如果窗口B是在窗口A中创建的,当然可以操作了,否则需要穿参或者委托操作了。
dmhaifeng
2008-01-03
打赏
举报
回复
如果窗口A与窗口B不在同一个框架下面,是不可能访问的!
YL_Show
2008-01-03
打赏
举报
回复
MARK
gzhoney
2008-01-03
打赏
举报
回复
改成public txtA还是不行,再请教!
zmaini1420
2008-01-03
打赏
举报
回复
千斤顶!~接分
jasmine0313
2008-01-03
打赏
举报
回复
txtA先得改成public
taiyangyu119
2008-01-03
打赏
举报
回复
用public属性传过去
ShowModalDialog 获取 Parent
窗口
控件
值
在A中打开
窗口
B:showModalDialog(/test.Mvc/test/+testID,window,dialogWidth=800px;dialogHeight=600px;help:no;status:no); 在B中获取A的
控件
值:dialogArguments.document.getElementById("hd_test").value;
Python两个类中的变量跨类调用的一个方法:类实例化
这是我在使用PyQt5(一个很方便好用的制作小软件的,可以说是Python的一个包吧,pip就可以使用)做一个小软件的时候,遇到的一个问题,因为如果是作为一个敢声称自己是个软件的东西,基本不会只有一个主
窗口
吧,大都包含了好多的对话框,分
窗口
,分
窗口
里又有好多的对话框。。。 这每一个
窗口
大概都会定义一个自己的类,Class A_Window,Class B_Window。。。类下面会有一堆在那个
窗口
下你自己设置的
控件
,比如输入文本框,按钮,复选框之类的。 这问题就来了,我在主
窗口
里的功能设计中,需要使用别的
mfc如何
访问
其他类中的
控件
变量
问题:A对话框中有列表
控件
(m_list),按钮弹出B对话框,B对话框中有edit
控件
(m_id,m_type,m_name),想要实现B中edit
控件
中的内容按钮显示在A中的列表里? 1.在B.h中添加: class CA; public中添加: CA* dlg; void GetDlg(CA* d); //
窗口
指针获取函数 在B.cpp中添加: void CA::GetDlg(...
VC++零基础入门之系列教程 【附录A
控件
窗口
风格】
知识需要一点一滴进行积累,只要有勇攀高峰的毅力,就一定能看到更加美丽的风景。
<转载>C#中父
窗口
和子
窗口
之间实现
控件
互操作
C#中父
窗口
和子
窗口
之间实现
控件
互操作 目前常见的有两种方法,基本上大同小异 : 第一种: 在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: public static yourMainWindow pCurrentWin = null; 然后在主窗体构造函数中,给静态成员初始化,如下: pCurrentWin = this; 那么在子窗体中调...
C#
111,129
社区成员
642,532
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章