首页 > 解决方案 > 关闭表单时如何保存轨迹栏的最后一个位置/值?

问题描述

我有一个Form1使用AppActivate.

这行文本是从下拉列表和文本框创建的,并使用 sendkeys 和System.Threading.Thread.Sleep(label1.text).

我在第二个表单上有一个跟踪栏,label1用于控制睡眠值的时间量。我将轨迹栏值设置为 100,以便用户拥有默认值。当计时器不够长时,用户可以转到第二种形式并增加滑块值。

我的问题是,因为每次打开第二个表单时我都将跟踪栏值设置为 100,所以它会重置为默认的 100 设置。如何在轨迹栏上设置默认的 100,但是一旦更改了值,下次打开第二个表单时它会在那里?

form 1当应用程序完全关闭(关闭)时,我也希望它回到 100 。

标签: vb.net

解决方案


我不完全了解每个表单具有什么控件或它的工作是什么,但听起来您可以通过构造函数将当前轨迹栏值从一个表单传递到另一个表单:

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Set the default value
         TrackBar.Value = 100
    End Sub

    Private Sub Button1_Clicked(sender As Object, e As EventArgs) Handles Button1.Click
        'Pass the current value of trackbar into Form2 constructor
        Dim form2 As New Form2(TrackBar.Value)
        form2.Show()
    End Sub
End Class

Public Class Form2
    'You can this wherever you need it now
    Dim _TrackBarValue As Integer

    Public Sub New(ByVal TrackBarValue As Integer)
        _TrackBarValue = TrackBarValue
    End Sub
End Class

显然,您需要使用正确的表单来布置控件。


推荐阅读