0

VB.Net 2010 で小さなアプリケーションを試していますが、小さな問題に直面しています。私のアプリには、メインとセカンダリの 2​​ つのフォームがあります。メイン フォームにはプログレス バーがあります。セカンダリ フォームも同様です。アプリが起動すると、メイン フォームのみが表示されます。ここでは、プログレス バーの値をパーセンテージに設定します。次に、子フォームを開き、プログレス バーにメイン フォームと同じ値を反映させたいと考えています。どうすればこれを達成できますか? メインフォームの値を使用して、子フォームのプログレスバーの値をロードおよび表示メソッドで設定しようとしましたが、機能しません。子フォームのプログレスバーの値がゼロになります。これを行うためのアイデアは大歓迎です..

4

2 に答える 2

0

この例では、Property を使用して、最初に表示したときに 2 番目の Forms ProgressBar を変更する方法と、Form1 から更新する方法を示しています。あなたのコードを見ないと、あなたが何を間違っているのかわかりませんが、特にvb.netで見たほとんどの質問では、2番目のフォームの2つの異なるインスタンスに対処しているため、変更がどこにも表示されないことが問題ですあなたは彼らに期待しています。

フォーム1

Public Class Form1
    Dim frm2 As Form2
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ProgressBar1.Value += 1
        If Not IsNothing(frm2) Then
            frm2.SetProgress = ProgressBar1.Value
        End If
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        frm2 = New Form2
        frm2.SetProgress = ProgressBar1.Value
        frm2.Show()
    End Sub
End Class

フォーム2

Public Class Form2
    Public Property SetProgress As Integer
        Get
            Return ProgressBar1.Value
        End Get
        Set(value As Integer)
            ProgressBar1.Value = value
        End Set
    End Property
End Class
于 2013-09-24T05:41:41.573 に答える