在VB.Net的文本框中输入数字时,如何更改表单中my.settings中的值

本杰明bl12

我想知道你能不能帮助我?我的问题是,如果您在文本框中输入数字/小数并单击一个按钮,然后更新要更改的设置,然后在另一个链接的链接中进行更改,是否可以更改表单中my.Settings的值到my.Settings中的变量?

表格1:

公共类frmConverter

Dim input As String
Dim result As Decimal

Dim EUR_Rate As Decimal = My.Settings.EUR_Rates
Dim USD_Rate As Decimal = 1.6
Dim JYP_Rate As Decimal = 179.65

Private Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalc.Click

    input = txtInput.Text

    Try

        If ComboBox1.Text = "£" Then
            Pounds()

        ElseIf ComboBox1.Text = "€" Then
            Euros()

        ElseIf ComboBox1.Text = "$" Then
            Dollars()

        ElseIf ComboBox1.Text = "¥" Then
            Yen()

        End If

    Catch es As Exception
        MsgBox("Error!")
    End Try

End Sub

Private Sub btnSettings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSettings.Click

    Me.Hide()
    frmExchange.Show()

End Sub

Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click

    txtInput.Text = ""
    lblResult.Text = ""

End Sub

Function Pounds()

    If ComboBox1.Text = "£" And ComboBox2.Text = "€" Then
        result = (input * EUR_Rate)
        lblResult.Text = FormatNumber(result, 2) & " " & ComboBox2.Text

    ElseIf ComboBox1.Text = "£" And ComboBox2.Text = "$" Then
        result = (input * USD_Rate)
        lblResult.Text = FormatNumber(result, 2) & " " & ComboBox2.Text

    ElseIf ComboBox1.Text = "£" And ComboBox2.Text = "¥" Then
        result = (input * JYP_Rate)
        lblResult.Text = FormatNumber(result, 2) & " " & ComboBox2.Text

    End If

    Return 0
End Function

表格2:公共类frmExchange

Private Sub frmExchange_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    My.Settings.EUR_Rates = (txtinput.Text)

    My.Settings.Save()
    My.Settings.Reload()

End Sub

Public Sub SetNewRate(ByVal rate As Decimal)

    txtinput.Text = rate.ToString

End Sub

Private Sub btnchange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnchange.Click

    If ComboBox1.Text = "€" Then

        My.Settings.USD_Rates = (txtinput.Text)
        frmConverter.SetNewRate(txtinput.Text)

    End If

End Sub

结束班

普萨·庞杰伦德拉普(PssaPøngjǣrdenlarp)

听起来您正在尝试将其My.Settings用作某种类型的全局参考变量集。那不是他们的目的,不是他们的工作方式,也不是他们的目的。

首先,打开Option Strict,因为它看起来像是Off。这会将文本框的十进制值存储到设置为Decimal的Settings变量中:

My.Settings.USD_Rates = CDec(SomeTextBox.Text)

就是这样。它不会保存值,也不会传递它或与其他形式和变量共享它。

My.Settings.Save            'saves current settings to disk for next time
My.Settings.Reload          'Load settings from last time

这在MSDN上都有介绍任何地方都没有链接。如果您具有其他形式的代码,例如:

txtRate.Text = My.Settings.USD_Rates.ToString

txtRate当您向“设置”中发布新值时,将不会自动更新。只有值而不是对象(请参阅值类型和引用类型)。要将新值传递给另一种形式:

' in other form:
Public Sub SetNewRate(rate As Decimal)
    ' use the new value:
    soemTextBox.Text = rate.ToString
End Sub 

以获取更改的形式:

Private Sub btnchangeRate(....
    ' save to settings which has nothing to do with passing the data  
    My.Settings.USD_Rates = CDec(RateTextBox.Text)
    otherForm.SetNewRate(CDec(RateTextBox.Text))
End Sub

如果使用默认表单实例,则可能会遇到问题,但这是另一个问题。


您把指示弄糊涂了。这两个过程应该采用两种不同的形式-一种发送新值,一种接收新值。通过编辑和更完整的图片,可以找到更简单的方法。

Private Sub btnSettings_Click(...) Handles btnSettings.Click
    ' rather than EMULATE a dialog, lets DO a dialog:
    'Me.Hide()
    'frmExchange.Show()

    Using frm As New frmExchange         ' the proper way to use a form
        frm.ShowDialog

        ' Im guessing 'result' is the xchg rate var
        result = CDec(frm.txtInput.Text)
    End Using          ' dispose of form, release resources

End Sub

另一种形式

Private Sub btnchange_Click(....)
    ' do the normal stuff with Settings, if needed then:
    Me.Hide
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在VB.Net的文本框中输入数字时,如何更改表单中my.settings中的值

来自分类Dev

你如何获得在文本框 vb.net 中输入的数字中心的数字

来自分类Dev

从VB模块中的访问表单引用文本框输入

来自分类Dev

获取列和在vb.net中的文本框中输入的值的总和

来自分类Dev

如何限制用户只能在vb.net的文本框中输入整数

来自分类Dev

如何根据 WPF、VB.NET 中滑块中的滑块值更改文本框中的文本和标签

来自分类Dev

如何在VB.NET的文本框中显示数据库中的空值

来自分类Dev

如何在vb.net中的RichTextBox中插入多个文本框值

来自分类Dev

从文本框中输入文本到组合框vb.net

来自分类Dev

将输入从文本框转换为vb中的Byte()

来自分类Dev

如何根据从VB .Net访问数据的可用性来检查和输入“ 2个文本框”中的数据

来自分类Dev

在文本框中检测数字键-VB.NET

来自分类Dev

在vb.net中循环浏览文本框

来自分类Dev

vb.net中的文本框光标

来自分类Dev

在VB.NET中动态添加文本框

来自分类Dev

在文本框VB.net中显示逗号

来自分类Dev

从原始表单(vb.net 2013)的Datagridview中自动填充对话框表单上的文本框

来自分类Dev

如何将小数点保留在VB的文本框中输入

来自分类Dev

如何在服务器vb.net中的文本框中获取值

来自分类Dev

延迟文本框在VB中更改

来自分类Dev

如何在VB的文本框中检查负值?

来自分类Dev

VB.NET 多行数据网格值到文本框(在文本框中显示一行)

来自分类Dev

如何在VB .Net中检查2个文本框的数据

来自分类Dev

如何限制vb.net中url类型的文本框

来自分类Dev

如何从数据库获取数据并将其放在文本框中-vb.net

来自分类Dev

如何在VB .Net中检查2个文本框的数据

来自分类Dev

如果选择 Combobox vb.net mysql,则文本框中的数据库值

来自分类Dev

如何将文本框的值传递到asp.net(vb)中的另一个页面

来自分类Dev

如何在VB6中动态设置文本框值

Related 相关文章

  1. 1

    在VB.Net的文本框中输入数字时,如何更改表单中my.settings中的值

  2. 2

    你如何获得在文本框 vb.net 中输入的数字中心的数字

  3. 3

    从VB模块中的访问表单引用文本框输入

  4. 4

    获取列和在vb.net中的文本框中输入的值的总和

  5. 5

    如何限制用户只能在vb.net的文本框中输入整数

  6. 6

    如何根据 WPF、VB.NET 中滑块中的滑块值更改文本框中的文本和标签

  7. 7

    如何在VB.NET的文本框中显示数据库中的空值

  8. 8

    如何在vb.net中的RichTextBox中插入多个文本框值

  9. 9

    从文本框中输入文本到组合框vb.net

  10. 10

    将输入从文本框转换为vb中的Byte()

  11. 11

    如何根据从VB .Net访问数据的可用性来检查和输入“ 2个文本框”中的数据

  12. 12

    在文本框中检测数字键-VB.NET

  13. 13

    在vb.net中循环浏览文本框

  14. 14

    vb.net中的文本框光标

  15. 15

    在VB.NET中动态添加文本框

  16. 16

    在文本框VB.net中显示逗号

  17. 17

    从原始表单(vb.net 2013)的Datagridview中自动填充对话框表单上的文本框

  18. 18

    如何将小数点保留在VB的文本框中输入

  19. 19

    如何在服务器vb.net中的文本框中获取值

  20. 20

    延迟文本框在VB中更改

  21. 21

    如何在VB的文本框中检查负值?

  22. 22

    VB.NET 多行数据网格值到文本框(在文本框中显示一行)

  23. 23

    如何在VB .Net中检查2个文本框的数据

  24. 24

    如何限制vb.net中url类型的文本框

  25. 25

    如何从数据库获取数据并将其放在文本框中-vb.net

  26. 26

    如何在VB .Net中检查2个文本框的数据

  27. 27

    如果选择 Combobox vb.net mysql,则文本框中的数据库值

  28. 28

    如何将文本框的值传递到asp.net(vb)中的另一个页面

  29. 29

    如何在VB6中动态设置文本框值

热门标签

归档