首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不丢失用户输入数据的情况下在后台刷新vb6表单

在不丢失用户输入数据的情况下在后台刷新vb6表单
EN

Stack Overflow用户
提问于 2013-01-11 22:59:06
回答 4查看 5.2K关注 0票数 1

我正在使用一些旧的VB6代码,并且有一个我试图纠正的场景。我有一个表单,允许您输入个人ID (使用租户在顶部的文本框中),然后单击“显示”,它会在同一表单的文本框中列出约会。还有一个按钮可以加载一个新表单,允许用户编辑显示的数据并保存更改。

例如,把人的年龄从65岁改为64岁。我做了这个更改,并保存它。保存成功,我卸载表单以返回到Form1。但是,我必须再次单击"show“刷新文本框中显示的数据,以确保更改可见。我不知道如何刷新这个表单,所以用户不必单击"show“来用新值重新填充文本框。有人能帮上忙吗?我不能只创建一个Form1的新实例,因为如果我创建了一个新实例,person ID字段将为空。

谢谢!

简而言之:如何刷新表单以获取最新数据,同时仍然获得相关人员ID。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-14 20:45:00

代码语言:javascript
复制
Call Me.frmParent.Refresh

我用它来刷新屏幕而不丢失数据。我不得不挖掘大量的旧代码来解决这个问题。这一节很久以前就写好了,而且效果很好。

代码语言:javascript
复制
Public Sub Refresh()
Call cmdDetails_Click
If tvwScreeningSchedule.Nodes.Count > 0 Then
    tvwScreeningSchedule.SelectedItem = tvwScreeningSchedule.Nodes(1)
    Call tvwScreeningSchedule_Click
End If

End Sub

这是一个非常特殊的函数,"cmdDetails_Click“包含许多自定义验证,但它与AngryHackers answer并不太相似。

票数 0
EN

Stack Overflow用户

发布于 2013-01-11 23:06:57

这里没有足够的信息来回答您的问题。在这种情况下,您将使用的一般模式如下:

  1. SearchForm启动ViewForm。
  2. ViewForm启动EditForm。当ViewForm构造它的EditForm实例时,它将Me传递给EditForm (可能通过设置fires的保存按钮单击事件触发,它调用Parent.ReloadData (其中Parent是启动EditForm的ViewForm )。
票数 4
EN

Stack Overflow用户

发布于 2013-01-12 08:54:30

以下是应该有效的方法。在编辑器中有一个公共属性,该属性返回表单是否被取消。(.Cancelled)。您将拥有一个对象,该对象包含您试图更改其年龄的person的属性。那就很简单了。主窗体中的代码:

代码语言:javascript
复制
dim oPerson as clsPerson
dim oFrm as frmAgeEditor

set oPerson = GetCurrentPerson()
set oFrm = new frmAgeEditor


with oFrm
    set .Person = oPerson
    .Show vbModal

    if not .Cancelled then
        ' Update Main form with the contents of oPerson

    end if

end with 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14280731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档