保存在运行时创建的标签

Posted

技术标签:

【中文标题】保存在运行时创建的标签【英文标题】:Saving labels created at run-time 【发布时间】:2013-10-30 17:03:50 【问题描述】:

我正在使用此代码向我的表单添加标签,但是当我关闭表单时,它们都消失了。有没有办法保存标签或创建一个每次都会加载并恢复标签的文本文档?

 Private x As Integer = 12
  Private y As Integer = 180

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)     Handles Button1.Click
    Dim lbl As New label
    lbl.Size = New System.Drawing.Size(159, 23) 'set your size
    lbl.Location = New System.Drawing.Point(x, y) 'set your location
    lbl.Text = (TextBox1.Text) 'set your name
    Me.Controls.Add(lbl)  'add your new control to your forms control collection
    x += 10 'arbitrary value, you could adjust y, too
End Sub

【问题讨论】:

创建一个自定义类来保存 Size()、Location() 和 Text()。没有将该类的实例添加到 List()。使用 XmlSerializer 将列表保存到 XML 文件。当表单打开时,反转该过程以将标签放回原处。 这里是一个例子:***.com/a/19143430/1070452 【参考方案1】:

要使它们持久化,您需要在设计时从工具箱中添加它们。

看看这个以获得说明:

http://www.homeandlearn.co.uk/csharp/csharp_s1p6.html

或者,您需要有一个配置文件,每次添加控件时都保存该文件,并带有适当的属性,然后您可以在表单加载时从配置文件中重新创建这些文件。

(我假设您使用的是 Winforms?)

【讨论】:

我知道谢谢,但我正在做一个项目,人们可以在需要时添加标签

以上是关于保存在运行时创建的标签的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 和 High-DPI:在运行时创建的控件位置错误

使用运行时生成的控件保存控件窗口并重新加载为以前的状态

在运行时向对象添加属性,并保存到数据库

未保存注销仪表板时通过 cmd 运行的元数据库

首次运行时将照片保存在自定义相册中失败

错误运行时错误“1004”文档未保存。