Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#2 |
初级会员
注册日期: 2013-04-07
帖子: 5
声望力: 0 ![]() |
![]()
都没人,我已经会了,分享下
哈哈,我今天早上又上网找了找,终于找到方法,可以不打开别的窗体实现参数传递,还是利用setappdata和getappdata来实现的,我给你说下啊 先说下这个小实验的功能,在主窗体下,有两个子窗A和B,在A中有一个edit和pushbutton用来传递需要被传递的值,然后在B中也有一个edit和pushbutton用来显示被传递的值。 实现过程: 1、在主窗体中编写代码,有两个菜单按钮,分别链接子窗A和子窗B; 2、在需要把数据传递出去的窗体即子窗A的pushbutton的callback中编写代码: txt=get(handles.edit,'string'); %将edit的值赋给txt setappdata(0,'out',txt); %利用setappdata将txt的数据赋给变量out,这条语句中参数0的位置本应是被传递参数所属窗体的句柄,这里替换成0,意思就是直接把数据保存在matlab工作区间,使out具有全局变量的作用,当然比全局变量好 3、在需要接收传递值的窗体即子窗B的pushbutton的callback中编写代码: in=getappdata(0,'out'); %利用getappdata将工作区间中的out的值赋给in set(handles.edit,'string',in); %将in的值显示在edit中 |
![]() |
![]() |