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