当前位置: 首页 > 知识库问答 >
问题:

如何在窗体之间翻转时保留窗体的控件值

萧业
2023-03-14

它需要两种形式才能输入特定事务的所有信息。我希望能够在这两个表单之间来回翻转,保留在每个表单上输入的内容,直到‘保存’按钮被单击。

我想我应该可以使用Form2.Show,Me.Hide,然后使用Form1.Show,Me.Hide。我第一次转到Form2时,它经过了Form2 load事件(这是合理的),但对Form1上控件内容的任何知识都丢失了。即使Form1是隐藏的(而不是关闭的),其控件的内容也消失了。为什么?

第二次转到Form2时,load事件不会触发,因为Form2是隐藏的,此时所有Form1控件内容都可用。因此,在Form1和Form2之间来回翻转时,在第二次转到Form2之后,它就像我希望的那样工作。但是,我需要它第一次和每次都能工作。

If Form2 Is Nothing Then
    Dim Form2 As New Form2
End If
Form2.Show()
Me.Hide()

Form2按钮后面的代码返回到Form1

Form1.Show
Me.Hide

共有1个答案

魏英勋
2023-03-14

这就是你可能错过的一切:

Class Form1
     Private f2 As Form2       ' this is Form1's reference to the
                               ' form2 instance

稍后,当您单击转到form2时,您的原始代码只需要做一个小小的调整:

If f2 Is Nothing Then
    f2 = New Form2(Me)             ' set declared variable to new instance   
End If
F2.Show()
Me.Hide()

在本例中,Form1使用在使用构造函数之前展示的技巧传递引用:

Sub New(frm As Form1)         ' this is in Form2 only
   f1 = frm               
End Sub
 类似资料:
  • 本文向大家介绍C#窗体显示留言时间的方法,包括了C#窗体显示留言时间的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#窗体显示留言时间的方法。分享给大家供大家参考。具体分析如下: 运行平台:Vs2012 主要实现例如空间发表说说时间的显示,如:某人在10秒前回复了你这种效果 可用在Web浏览器,窗体,等... 希望本文所述对大家的C#程序设计有所帮助。

  • 我需要获取表单上所有类型为X的控件。我很确定我在过去见过一次这样的代码: 我知道我可以使用递归函数迭代所有控件获得子控件,但是有没有更简单或更直接的方法,可能像下面这样?

  • 本文向大家介绍C# Winform 子窗体访问父级窗体的控件和属性,包括了C# Winform 子窗体访问父级窗体的控件和属性的使用技巧和注意事项,需要的朋友参考一下 今天在做一个联系人管理的C#设计时,遇到了这个问题,我需要将父窗体中的textBox中的值传到子窗体并进行数据库查询操作,我用了new 父窗体().textBox.text;来进行值传递,然而并无卵用,经过多次试验,找到了一个比较简

  • 我们正在使用Kafka流的会话窗口来聚合相关事件的到达。除了聚合之外,我们还使用API指定窗口的保留时间。流信息: 会话窗口(非活动时间)为1分钟,传递到的保留时间为2分钟。我们使用定制的来映射事件的时间。 示例: 事件:e1;事件时间:上午10:00:00;到达时间:下午2点(同一天) 事件:e2;事件时间:上午10:00:30;到达时间:下午2:10(同一天) 第二个事件的到达时间是e1到达后

  • 我有一个映射的输入字段列表: 我目前使用来处理提交: 我试图关注当前输入字段成功提交后的下一个输入字段。React留档有一个示例,用于使用

  • 本文向大家介绍.Net遍历窗体上控件的方法,包括了.Net遍历窗体上控件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了.Net遍历窗体上控件的方法。分享给大家供大家参考。具体分析如下: 本例实现遍历窗体上的控件以及找出TextBox控件,代码如下: 希望本文所述对大家的.Net程序设计有所帮助。