qt 主窗体关闭子窗体变化子窗体能随着变化。如qt 主窗体关闭子窗体中的输入班级名称,子窗体显示该名称的信息。

欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 2528 人关注过本帖
标题:如何设置,父窗体变化时子窗体大小及位置也符合要求
等 级:论坛游民
帖 子:146
专家分:63
结帖率:100%
&&已结贴√
&&问题点数:10&&回复次数:2&&&
如何设置,父窗体变化时子窗体大小及位置也符合要求
各位网友好。现父窗体中有多个子窗体,有时启动的子窗体也不只一个。启动后,有时父窗体大小可能会变化。如何设置,父窗体变化后,子窗体的大小及显示的位置仍符合要求。
现有附件,附件中有一个父窗体,三个子窗体,我想这样设计。了窗体一二无论父窗体如何变化,想让它们运行进都充满父窗体。子窗体无论父窗体如何变化,子窗体三大小不变,相对父窗体的位置也不发生变化(如居中显示)。如何设置可达到要求。
另外,当有多个子窗体运行时,如何可获取运行的子窗体名称。如何能判断出某个子窗体是否已运行。
请指导,谢谢
[ 本帖最后由 燕之峰 于
16:16 编辑 ]
附件: 您没有浏览附件的权限,请
搜索更多相关主题的帖子:
等 级:版主
威 望:203
帖 子:4169
专家分:25597
&&得分:10&
父窗体大小发生变化时,会产生 事件。在这个事件里,处理。
遍类所有的窗体,然后针对各个窗体进行单独处理。
Dim i As Long, j As Long
Dim fr As Form
i = Me.ScaleWidth
j = Me.ScaleHeight
On Error Resume Next
If Me.WindowState && 1 Then
&&& For Each fr In Forms
&&&&&&&&If fr.Name = &Form1& or&&fr.Name = &Form2& Then
&&&&&&&&&&&&fr.Move 0, 0, i, j
&&&&&&&&elseif fr.name=&Form3& then
&&&&&&&&&&&&fr.move (i-fr.width)/2,(j-fr.height)/2 ,fr.width,fr.height&&&&&&&&&&&&&&'居中,如果不是的话,你要自己计算位置
&&&&&&&&End If
----------
当有多个子窗体运行时,如何可获取运行的子窗体名称。如何能判断出某个子窗体是否已运行。
就用上面的代码改改吧。
授人于鱼,不如授人于渔
早已停用QQ了
等 级:论坛游民
帖 子:146
专家分:63
Me.WindowState
For Each fr In Forms
这两行代码是何意
版权所有,并保留所有权利。
Powered by , Processed in 0.109228 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights ReservedSnelle toegang
C#中,如何在一个子窗体里面修改主窗体中的控件?
假如Form1是主窗体,程序运行之后创建一个自窗体ChildForm,我需要在ChildForm里面去修改Form1中的ListView控件的内容,应该如何做?如果是在Form1里面修改ChildForm里面的控件,我就知道,只需要把ChildForm里面的控件设置修改权限为&Public&,然后就可以直接用ChildForm.listView1来修改了。但是反过来却遇到了问题,因为我不知道Form1的实体对象在哪里?
da jia hao!
Antwoorden
你好! 在窗体间传递数据的方法比较多: 1,在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去,说起来太抽象了,我大概一写大家应该就明白了: && public class frmMain:Form && { &&&&&&& ... &&&&&&& frmControl controlForm=new frmControl(this); &&&&&&& controlForm.Show(); &&& }
&&& public class frmControl:Form& //子窗体,用来控制主窗体的某些显示! &&& { &&&&&&&& private frmMain mainF &&&&&&&& public frmControl(frmMain mainForm) &&&&&&&& { &&&&&&&&&&&&& this.mainForm=mainF &&&&&&&&& } &&&&&&&&& private void button1_Click(object sender,EventArgs e)
&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&& frmMain.textBox1.Text=this.textBox1.T& //把子窗体的文本框值传递给主窗体的文本框!
&&&&&&&&&&&&&& }
&&&& } 2,我个人感觉上面的方法不是很好,虽然实现起来很简单,只是想改变窗体的标题文本,就把整个主窗体的引用都传递给子窗体,这样的方式不是很幽雅,我们用接口来改进上面的方法,这样可以限制暴露给子窗体的功能,降低窗体之间的耦合度: && public interface IChangeTitle: && { &&&&&&& void ChangeTitle(string title); &&& } && public class frmMain:Form,IChangeTitle && { &&&&&&& ... &&&&&&& frmControl controlForm=new frmControl(this); &&&&&&& controlForm.Show(); &&&&&&& public void ChangeTitle(string title) &&&&&&& { &&&&&&&&&&&& this.Text= &&&&&&&& }&&&&&&&
&&& public class frmControl:Form& //子窗体,用来控制主窗体的某些显示! &&& { &&&&&&&& private IChangeTitle ichangeT &&&&&&&& public frmControl(IChangeTitle ichangeTitle) &&&&&&&& { &&&&&&&&&&&&& this.ichangeTitle=ichangeT &&&&&&&&& } &&&&&&&&& private void button1_Click(object sender,EventArgs e)
&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&& ichangeTitle.ChangeTitle(this.textBox1.Text);& //通过接口来调用方法
&&&&&&&&&&&&&& }
&&&& } 3,为了进一步降低窗体之间的耦合度,我们可以用委托来实现这个需求: &&& public partial class ChildForm : Form &&& { &&&&&&& public delegate void TitleChangedHandler(string title); &&&&&&& public TitleChangedEventHandler TitleC &&&&&&& public ChildForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&& }
&&&&&&& private void btn_Ok_Click(object sender, EventArgs e) &&&&&&& {&&&&&&&&&&&
&&&&&&&&&&& if (TitleChanged != null) &&&&&&&&&&&&&&& TitleChanged(&Test Title&); //委托调用 &&&&&&&&&&&
&&&&&&& } &&& } 主窗体给委托变量赋值就可以了: &&& public partial class MainForm : Form &&& { &&&&&&& private ChildForm loginForm = new ChildForm();
&&&&&&& public MainForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&&&&&& loginForm.TitleChanged = new ChildForm.TitleChangedEventHandler(FormTitleChanged); &&&&&&& }
&&&&&&& protected void FormTitleChanged(string title) &&&&&&& { &&&&&&&&&&& this.Text = &&&&&&& }
&&&&&&& private void button1_Click(object sender, EventArgs e) &&&&&&& { &&&&&&&&&&& loginForm.Show(); &&&&&&& } &&& }
4,也可以在子窗体中定义一个自定义的事件,然后自定义一个事件参数,用来传递你想传递的一些信息: &&& public partial class ChildForm : Form &&& { &&&&&&& public class TitleChangedEventArgs : EventArgs //事件参数类 &&&&&&& { &&&&&&&&&&& private string title = &&; &&&&&&&&&&& public string Title &&&&&&&&&&& { &&&&&&&&&&&&&&& get &&&&&&&&&&&&&&& { &&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& } &&&&&&&&&&&&&&& set &&&&&&&&&&&&&&& { &&&&&&&&&&&&&&&&&&& title = &&&&&&&&&&&&&&& } &&&&&&&&&&& } &&&&&&& } &&&&&&& public delegate void TitleChangedEventHandler(object sender, TitleChangedEventArgs e); &&&&&&& public event TitleChangedEventHandler TitleC &&&&&&& public ChildForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&& }
&&&&&&& private void btn_Ok_Click(object sender, EventArgs e) &&&&&&& { &&&&&&&&&&& TitleChangedEventArgs e1=new TitleChangedEventArgs(); &&&&&&&&&&& e1.Title=&Login sucessed&; &&&&&&&&&&& OnTitleChanged(e1);//触发事件 &&&&&&&&&&&
&&&&&&& protected virtual void OnTitleChanged(TitleChangedEventArgs e)&& //触发事件的方法 &&&&&&& { &&&&&&&&&&& if (TitleChanged != null) &&&&&&&&&&&&&&& TitleChanged(this, e); &&&&&&& } &&& }
主窗体订阅这个事件就可以了: &&& public partial class MainForm : Form &&& { &&&&&&& private ChildForm loginForm = new ChildForm();
&&&&&&& public MainForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&&&&&& loginForm.TitleChanged += new ChildForm.TitleChangedEventHandler(FormTitleChanged); &&&&&&& }
&&&&&&& protected void FormTitleChanged(object sender, ChildForm.TitleChangedEventArgs e) &&&&&&& { &&&&&&&&&&& this.Text = e.T &&&&&&& }
&&&&&&& private void button1_Click(object sender, EventArgs e) &&&&&&& { &&&&&&&&&&& loginForm.Show(); &&&&&&& } &&& }周雪峰
Als antwoord gemarkeerd door
Alle reacties
你可以使用相同的方式,但这里需要将 form1 传递给 childform。如
public partial class Form1 : Form
private void Show()
// 将 from1 通过构造函数传递给 childform
using (ChildForm cf = new ChildForm(this))
cf.ShowDialog();
public partial class ChildForm : Form
private Form1 from1;
// 增加一个带参的构造函数,用于接收 from1.
public ChildForm(Form1 from1)
InitializeComponent();
this.from1 = from1;
&知识改变命运,奋斗成就人生!
这样也行啊。请问这是标准做法吗?da jia hao!
没有标准做法,只有是否合适.......
也可以在 ChildForm 上面添加事件,然后主窗体响应它的事件。
不过主界面可是单线程的,嘿嘿
不管你使用什么方式来修改,建议在 from1 中暴露一个方法或事件来修改你的控件,而不是直接操作,避免以后产生混乱。
知识改变命运,奋斗成就人生!
事实上,如果我不把Form1的实体传给ChildForm,那么我就必须用静态函数,而静态函数里面根本就无法对ListView控件操作。。。。因为ListView是在designer.cs里面自动生成的,我应该不能修改它的属性。da jia hao!
你好! 在窗体间传递数据的方法比较多: 1,在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去,说起来太抽象了,我大概一写大家应该就明白了: && public class frmMain:Form && { &&&&&&& ... &&&&&&& frmControl controlForm=new frmControl(this); &&&&&&& controlForm.Show(); &&& }
&&& public class frmControl:Form& //子窗体,用来控制主窗体的某些显示! &&& { &&&&&&&& private frmMain mainF &&&&&&&& public frmControl(frmMain mainForm) &&&&&&&& { &&&&&&&&&&&&& this.mainForm=mainF &&&&&&&&& } &&&&&&&&& private void button1_Click(object sender,EventArgs e)
&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&& frmMain.textBox1.Text=this.textBox1.T& //把子窗体的文本框值传递给主窗体的文本框!
&&&&&&&&&&&&&& }
&&&& } 2,我个人感觉上面的方法不是很好,虽然实现起来很简单,只是想改变窗体的标题文本,就把整个主窗体的引用都传递给子窗体,这样的方式不是很幽雅,我们用接口来改进上面的方法,这样可以限制暴露给子窗体的功能,降低窗体之间的耦合度: && public interface IChangeTitle: && { &&&&&&& void ChangeTitle(string title); &&& } && public class frmMain:Form,IChangeTitle && { &&&&&&& ... &&&&&&& frmControl controlForm=new frmControl(this); &&&&&&& controlForm.Show(); &&&&&&& public void ChangeTitle(string title) &&&&&&& { &&&&&&&&&&&& this.Text= &&&&&&&& }&&&&&&&
&&& public class frmControl:Form& //子窗体,用来控制主窗体的某些显示! &&& { &&&&&&&& private IChangeTitle ichangeT &&&&&&&& public frmControl(IChangeTitle ichangeTitle) &&&&&&&& { &&&&&&&&&&&&& this.ichangeTitle=ichangeT &&&&&&&&& } &&&&&&&&& private void button1_Click(object sender,EventArgs e)
&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&&&&& ichangeTitle.ChangeTitle(this.textBox1.Text);& //通过接口来调用方法
&&&&&&&&&&&&&& }
&&&& } 3,为了进一步降低窗体之间的耦合度,我们可以用委托来实现这个需求: &&& public partial class ChildForm : Form &&& { &&&&&&& public delegate void TitleChangedHandler(string title); &&&&&&& public TitleChangedEventHandler TitleC &&&&&&& public ChildForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&& }
&&&&&&& private void btn_Ok_Click(object sender, EventArgs e) &&&&&&& {&&&&&&&&&&&
&&&&&&&&&&& if (TitleChanged != null) &&&&&&&&&&&&&&& TitleChanged(&Test Title&); //委托调用 &&&&&&&&&&&
&&&&&&& } &&& } 主窗体给委托变量赋值就可以了: &&& public partial class MainForm : Form &&& { &&&&&&& private ChildForm loginForm = new ChildForm();
&&&&&&& public MainForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&&&&&& loginForm.TitleChanged = new ChildForm.TitleChangedEventHandler(FormTitleChanged); &&&&&&& }
&&&&&&& protected void FormTitleChanged(string title) &&&&&&& { &&&&&&&&&&& this.Text = &&&&&&& }
&&&&&&& private void button1_Click(object sender, EventArgs e) &&&&&&& { &&&&&&&&&&& loginForm.Show(); &&&&&&& } &&& }
4,也可以在子窗体中定义一个自定义的事件,然后自定义一个事件参数,用来传递你想传递的一些信息: &&& public partial class ChildForm : Form &&& { &&&&&&& public class TitleChangedEventArgs : EventArgs //事件参数类 &&&&&&& { &&&&&&&&&&& private string title = &&; &&&&&&&&&&& public string Title &&&&&&&&&&& { &&&&&&&&&&&&&&& get &&&&&&&&&&&&&&& { &&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&& } &&&&&&&&&&&&&&& set &&&&&&&&&&&&&&& { &&&&&&&&&&&&&&&&&&& title = &&&&&&&&&&&&&&& } &&&&&&&&&&& } &&&&&&& } &&&&&&& public delegate void TitleChangedEventHandler(object sender, TitleChangedEventArgs e); &&&&&&& public event TitleChangedEventHandler TitleC &&&&&&& public ChildForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&& }
&&&&&&& private void btn_Ok_Click(object sender, EventArgs e) &&&&&&& { &&&&&&&&&&& TitleChangedEventArgs e1=new TitleChangedEventArgs(); &&&&&&&&&&& e1.Title=&Login sucessed&; &&&&&&&&&&& OnTitleChanged(e1);//触发事件 &&&&&&&&&&&
&&&&&&& protected virtual void OnTitleChanged(TitleChangedEventArgs e)&& //触发事件的方法 &&&&&&& { &&&&&&&&&&& if (TitleChanged != null) &&&&&&&&&&&&&&& TitleChanged(this, e); &&&&&&& } &&& }
主窗体订阅这个事件就可以了: &&& public partial class MainForm : Form &&& { &&&&&&& private ChildForm loginForm = new ChildForm();
&&&&&&& public MainForm() &&&&&&& { &&&&&&&&&&& InitializeComponent(); &&&&&&&&&&& loginForm.TitleChanged += new ChildForm.TitleChangedEventHandler(FormTitleChanged); &&&&&&& }
&&&&&&& protected void FormTitleChanged(object sender, ChildForm.TitleChangedEventArgs e) &&&&&&& { &&&&&&&&&&& this.Text = e.T &&&&&&& }
&&&&&&& private void button1_Click(object sender, EventArgs e) &&&&&&& { &&&&&&&&&&& loginForm.Show(); &&&&&&& } &&& }周雪峰
Als antwoord gemarkeerd door
非常感谢版主的详细帮助。我已经用事件的方式实现了我的功能!da jia hao!
不客气啊!周雪峰MFC程序的默认的标题是“无标题-title”,其中title是应用程序的名称,我们应如何修改MFC窗口标题来符合自己的要求?&&&
MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分,如果只是要修改“无标题”部分,可以重载文档类的该函数。窗口标题的后半部分可以通过SetWindowText设置,也可以编辑字符串资源中的IDR_MAINFRAME字符串,将第一个"n之前的字符串替换掉即可,而如果你想把“无标题”部分除掉,则必须修该窗口的风格。 一、修改前半部分1) 可以重载文档类的虚函数SetTitlevoid CTestDoc::SetTitle(LPCTSTR
lpszTitle){&& CDocument::SetTitle(L"你的标题");}也可以在
CTestDoc::OnNewDocument()中添加SetTitle(L"你的标题");二、修改后半部分1) 第一种方法: 修改资源字符串:利用ResourceView打开工程的资源,修改String
Table中的IDR_MAINFRAME的值。将原来的“SDITitle\n\nTitle\n\n\nTitle.Document\nTitle
Document”改为“标题改变示例\n\nTitle\n\n \nTitle. Document\nTitle
Document”。这样改变后,主窗口标题栏的形式就为“((((-标题改变示例”。修改此处"n"nChange"n"n"nChangeTitle.Document"nChange
Document资源字符串中各子串的含义可以参考:IDR_MAINFRAME字符串资源中各子串的含义 &&& 第二种方法: 具体改变方法如下:
改变CMainFrame的成员函数PreCreateWindow()为: BOOL
CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { m_strTitle = " 我的标题 "; return
CFrameWnd::PreCreateWindow(cs); } 这改变后,标题栏的形式就为“((((-我的标题”。
m_strTile是CFrameWnd的保护成员(令人惊奇的是,Visual C++ Books Online
4.0不显示类的保护和私有的成员及函数。所以在m_strTile处按F1键,得不到相应的帮助。要得到m_strTile更详细的信息,请打开\ msdev \
mfc \include \afxwin.h文件)。CSDIMainFrame则是CFrameWnd类的派生类。
在跟第一种改变方法中,第二种方法优先级高。也就是说,改变了m_strTitle的值后,IDR_MAINFRAME的值就不起作用。 2)
使用框架窗口类的SetWindowText(L"你的标题"):在应用程序类CTestApp::InitInstance()中调用如下语句m_pMainWnd-&SetWindowText(L"你的标题");或者在其他地方用AfxGetMainWnd()-&SetWindowText(L"你的标题");3) 如果您想除掉标题中间的“-”, 可以通过重CFramWnd类的OnUpdateFrameTitle函数,这个函数在VC提供的帮助文件中找不到,必须手工添加virtual void OnUpdateFrameTitle(BOOL NaDa);void
CMainFrame.:OnUpdateFrameTitle(BOOL NaDa){CString
csAppNcsAppName.Format(AFX_IDS_APP_TITLE);SetWindowText(csAppName);}此时显示的结果只有字符串资源AFX_IDS_APP_TITLE所定义的字符串4) 是在CMainFrame的PreCreateWindow函数中修改窗口风格:BOOL
CMainFrame.:PreCreateWindow(CREATESTRUCT& cs){&&&&&&&&& cs.style. &= ~(LONG) FWS_ADDTOTITLE;&&&&&&&&&
return CFrameWnd::PreCreateWindow(cs);}使用此方法,窗口的标题只显示IDR_MAINFRAME字符串中第一个"n之前的部分 以下也是和“4)”产生效果一样: 在MainFrm.cpp中,找到PreCreateWindow函数,增加如下代码。 // TODO: 在此处通过修改// CREATESTRUCT cs
来修改窗口类或样式cs.style&=~FWS_ADDTOTITLE;) & 更改IDR_MainFrm指向的ico文件,
该图标有两种格式,32×32和16×16,这两种格式都要改,还可以在主框架的OnCreate函数里指定使用哪个图标: 修改MFC标题栏上的图标
HICON m_hI在MainFrm的OnCreate()里m_hIcon =
AfxGetApp()-&LoadIcon(IDR_MAINFRAME);SetIcon(m_hIcon, TRUE); // Set big
iconSetIcon(m_hIcon, FALSE); // Set small icon 若更改应用程序的图标,先引入该图标资源,在Resource.h文件中修改该资源的ID值,必须使该资源号在ICO资源中最小,否则MFC将使用ICO资源号最小的图标 IDR_MAINFRAME字符串资源中各子串的含义 IDR_MAINFRAME字符串资源中包含7个子串,分别以"n结束,即如下格式: &windowTitle&"n&docName&"n&fileNewName&"n&filterName&"n&filterExt&"n&regFileTypeId&"n&regFileTypeName&"n (1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。 (2)CDocTemplate::docName,缺省文档的名称。如果没有指定,缺省文档的名称是无标题。 (3)CDocTemplate::fileNewName,文档类型的名称。如果应用程序支持多种类型的文档,此字符串将显示在"File/New"对话框中。如果没有指定,就不能够在"File/New"对话框处理这种文件。 (4)CDocTemplate::filterName,文档类型的描述和一个适用于此类型的通配符过滤器。这个字符串将出现在“File/Open”对话框中的文件类型列表框中。要和CDocTemplate::filterExt一起使用。
(5)CDocTemplate::filterExt,文档的扩展名。如果没有指定,就不能够在“File/Open” & 二·对多文档接口(MDI)类型窗口标题的改变。。。。。
(暂时未验证)MDI类型窗口标题中,主窗口标题和文档标题的次序,和SDI类型窗口中次序是不同的。结合具体例子说明,用VC的AppWizard创建一个名为“MDITitle”的多文挡类型的工程。创建完工程后,编译运行该工程,主窗口标题形式如下:
主窗口标题 (当前打开的)文档标题 1·文档标题的改变
MDI类型窗口的文档标题也是由相应的文档类控制的。改变方法同SDI类型窗口类似,要改变标题,只要在相应的文档类中利用SetTitle()函数来改变文档标题。
2·主窗口标题的改变
MDI类型主窗口标题的改变方法同SDI类型窗口类似。改变主窗口标题也有两种方法,通过改变IDR_MAINFRAME或m_strTitle的值就可实现改变主窗口标题的目的。同样,改变了m_strTitle值后,IDR_MAINFRAME的值就不起作用。
3·子窗口标题的改变
在默认情况下,MFC自动将子窗口标题设为该子窗口所打开的文档标题。但实际上,子窗口标题与该子窗口标题所打开的文档标题并不是同一回事。我们可做如下实验:
(利用ResourceView打开资源,修改String Table中的IDR_MAINFRAME的值为“我的标题”,使得主窗口标题变成“我的标题”。
(将BOOL CMDITitleDoc::OnNewDocument()函数改为: BOOL
CMDITitleDoc::OnNewDocument() { if (!CDocument::OnNewDocument())
return FALSE; static int count=0; char message[10]; wsprintf
(message, "%s%d ", "文档 ",count); SetTitle (message); count++; return
TRUE; } 设置文档标题为“文档0”、“文档1”... 。 (r)将CChildFrame ::PreCreateWindow()
函数改为: BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) {
cs.style &=~ (LONG) FWS_ADDTOTITLE; return
CMDIChildWnd::PreCreateWindow(cs); }
改变窗口类型,这步工作必须做。常量FWS_ADDTOTITLE是在文件\ msdev \ mfc \include \afxwin.h中定义。
(在CMDITitleView类中增加OnInitialUpdate () 函数: void
CMDITitleView::OnInitialUpdate() { CView::OnInitialUpdate();
GetParent()-& SetWindowText(GetDocument()-& GetTitle()+ "-多媒体测控中心 ");
} 这样,子窗口的标题栏的形式就为“文档名(-
多媒体测控中心”。
阅读(...) 评论() 上传我的文档
 下载
 收藏
粉丝量:32
多年高中历史授课经验,具有相应专业背景,善于与学生沟通,善于调动课堂气氛。
 下载此文档
Access中主子窗体的教学探讨 
下载积分:628
内容提示:Access中主子窗体的教学探讨 
文档格式:PDF|
浏览次数:6|
上传日期: 01:31:42|
文档星级:
全文阅读已结束,如果下载本文需要使用
 628 积分
下载此文档
该用户还上传了这些文档
Access中主子窗体的教学探讨 
关注微信公众号Access俱乐部
?&&&&?&&&&?&&&&?&&&&
您的位置:  > >
怎样让子窗体随主窗体记录同步变化
来源:ACCESS XP FAQ
&&点击数:16314&&评论数:2 &|&&|&
时 间: 00:00:00
作 者:&&&ID:61&&城市:岳阳
摘 要:我用一个记录输入窗口,在主窗口中加上子窗体显示输入的数据。主窗口为数据入口,新录入的记录在子窗体中并不显示.怎么解决?
正&&&&文:
(问):&我用一个记录输入窗口,在主窗口中加上子窗体显示输入的数据。主窗口为数据入口,新录入的记录在子窗体中并不显示.怎么解决?
(答):&其实这是一个十分类似VB中DBGRID控件的解决方法。
问题实质:就是让主窗体与子窗体为同一数据源。在主窗体的加载事件处理粘贴如下代码:
Private&Sub&Form_Load()
&&&&Set&Me.员工_子窗体.Form.Recordset&=&Me.Recordset
Access软件网官方交流QQ群 (群号:)
      
&&&&【&&】&&&&【&&】&&&&【&&】
Access网店
价格:¥280 元
价格:¥200 元
价格:¥199 元
(05-28 16:58)
(05-28 16:48)
(05-28 16:24)
(05-28 14:37)
(05-28 11:01)
(05-28 08:55)
(05-27 20:39)
(05-27 18:53)
(05-27 17:10)
(05-26 22:12)
Access软件网 版权所有 CopyRight
提供支持 本站特聘法律顾问: 李慧 律师

我要回帖

更多关于 c 控件随窗体变化 的文章

 

随机推荐