社区
C#
帖子详情
如何从窗口B访问窗口A的某个控件?
gzhoney
2008-01-03 04:06:19
我想在窗口B的某个按钮被按下后,即向窗口A的文本框txtA内写一个字符串,请问窗口B的代码该如何写呢?
我用frmA.ActiveForm.txtA,却发现txtA不存在,请教高手!
...全文
154
18
打赏
收藏
如何从窗口B访问窗口A的某个控件?
我想在窗口B的某个按钮被按下后,即向窗口A的文本框txtA内写一个字符串,请问窗口B的代码该如何写呢? 我用frmA.ActiveForm.txtA,却发现txtA不存在,请教高手!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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属性传过去
【Qt开发】
控件
居中填充
窗口
的配置 子
窗口
控件
自动拉伸
【Qt开发】
控件
居中填充
窗口
的配置 子
窗口
控件
自动拉伸
【QT】父
窗口
、信号和槽、面向对象
一、父
窗口
1.1 介绍 创建
控件
时,可以指定停靠在某个父
窗口
上面,这时
控件
将作为子
窗口
被束缚在其父
窗口
的内部,并伴随父
窗口
一起移动、隐藏、显示和关闭,否则该
控件
将作为独立
窗口
显示在屏幕上,且游离于其它
窗口
之外。 QWidgets 及其子类的对象都可以作为其它
控件
的父
窗口
,常见的父
窗口
类有如下三个: QWidgets QMainWindow:QWidgets 的直接子类 QDialog:QWidgets 的直接子类 1.2 析构函数 父
窗口
的析构函数会自动销毁其所有子
窗口
对象,因此即使子
窗口
对象是通过
miniGUI
窗口
管理及
控件
类
MiniGUI 体系结构之二 多
窗口
管理和
控件
及
控件
类 魏永明 蓝点软件(北京)研发中心技术主管 2001/01/06 目录: 引言
窗口
Z 序
窗口
剪切算法 主
窗口
和
控件
、
控件
类 输入法模块大设计 小结 附:MiniGUI 的最新进展 资源
6-
窗口
、
窗口
控件
、对话框以及相关功能类-QWidget
窗口
由于QWidget是QPaintDevice的一个子类,因此子类可以用于显示自定义内容,这些内容是使用QPainter类实例的一系列绘制操作组成的。这种方法与图形视图框架使用的画布样式方法形成对比,在画布样式方法中,项目由应用程序添加到场景中,并由框架本身进行渲染。每个小部件都在其paintEvent()函数中执行所有绘制操作。每当需要重新绘制小部件时,无论是由于某些外部更改还是应用程序请求,都会调用此函数。"模拟时钟"示例显示了一个简单的小部件如何处理绘制事件。获取QCursor对象。
mfc 找出一个
窗口
中的所有
控件
句柄_MFC 获取
窗口
句柄的方法 | 学步园
一----使用Window API 获取句柄GetNextWindow获取前一个或者后一个
窗口
的句柄HWNDGetNextWindow(HWNDhWnd,UINTwCmd);GetWindow该函数返回与指定
窗口
有特定关系(如Z序或所有者)的
窗口
句柄HWNDGetWindow(HWNDhWnd,UINTuCmd);GetNextDlgTabItem:与 TAB键相关该函数按指定方向检...
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章