【问题标题】:Creating form setting in VB Programmatically以编程方式在 VB 中创建表单设置
【发布时间】:2018-07-04 16:54:55
【问题描述】:

我的问题是如何在 vb.net 语言中创建一个新的表单设置以编程方式保存数据。

例如,当我单击按钮时,它将创建名称为 textbox1 的文本的设置。

这是否可能以及如何。 有没有什么功能可以在程序关闭时保存数据?

【问题讨论】:

  • 但我可以通过编程方式做到这一点吗?
  • 哪种 VB 语言?它不能同时是 VBA 和 VB.NET!他们在这方面是不一样的。
  • 我很抱歉,s vb.net
  • 您能否阐明为什么需要知道如何以编程方式执行此操作,因为如果您可以简单地将 textbox1 链接到 IDE 中的设置,那么您的用例似乎不需要以编程方式访问设置。

标签: vb.net vb.net-2010 setting programmatically


【解决方案1】:

您可以通过表单设计器做到这一点。

转到 ApplicationSettings / PropertyBinding 并单击 ... 按钮。

然后通过单击此处为 Text 属性分配一个新设置:

.Net 负责在程序退出时自动保存设置。如果要强制保存,直接调用My.Settings.Save()

【讨论】:

  • 问题是询问如何以编程方式执行此操作,而不是通过 IDE。
  • 啊!我错过了问题的那一部分。在这种情况下,您可以这样做一次,然后分析它生成的代码以了解它是如何做到的。然后从那里解决如何添加更多内容。
【解决方案2】:

您可以创建自己的继承ApplicationSettingsBase的设置类:

Imports System.Configuration

Public Class MyUserSettings
    Inherits ApplicationSettingsBase
    <UserScopedSetting()> _
    <DefaultSettingValue("white")> _
    Public Property BackgroundColor() As Color
        Get
            BackgroundColor = Me("BackgroundColor")
        End Get

        Set(ByVal value As Color)
            Me("BackgroundColor") = value
        End Set
    End Property
End Class

保存设置:

Dim Mus As New MyUserSettings
Mus.BackgroundColor = Color.AliceBlue
Mus.Save()

加载设置:

Dim Mus As New MyUserSettings
MessageBox.Show(Mus.BackgroundColor.ToString)

来源:MSDN

【讨论】:

    【解决方案3】:

    VBA 中的一种方式是将设置保存到注册表的标准函数:

    Call SaveSetting(appName, Section, Key, Value)
    
    Value = GetSetting(appName, Section, Key)
    

    只需将它们放入表单构造函数和表单析构函数中即可:

    Private Sub UserForm_Initialize()
    ...
    end sub
    
    Private Sub UserForm_Terminate() 
    ...
    end sub
    

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2015-06-09
      • 1970-01-01
      相关资源
      最近更新 更多