0

vb.net を使用して単純なデスクトップ アプリケーションを開発しています。fillfeilds は、別のクラスから呼び出されるパブリック関数です。関数が呼び出されていますが、テキスト ボックスの値は変更されません。しかし、次に fillfeilds を呼び出す Button1_Click を呼び出すと、ルーチンは正常に動作します。

私はこの振る舞いを理解していないので、誰かが私が間違っていることについて私を導いてくれれば、私は最も感謝しています.

ありがとう。

Public Sub fillFeilds()

        FirstNamePri.Text = "lll"
        FirstNamePri.Text = "lll"
        LastNameAlt.Text = "kkkk"


    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FirstNamePri.Text = "lll"

        fillFeilds()
    End Sub

'fillfeild()関数を呼び出すクラス

パブリック クラス MainCust

      Dim cust As New CustInfo
    MainWindow.MainPanel.Controls.Add(cust)

    Dim rec As New Customer

    Dim dataArr As ArrayList = rec.getFirstCust()

    Dim customer As New CustInfo
    customer.fillFeilds(dataArr)


End Sub

End Class
4

2 に答える 2

1

の 2 つの個別のインスタンスを作成していますCustInfo。あなたは最初のものを表示していますが、2番目のものは表示していません。表示されていない 2 番目のものは、実際にフィールドを埋めているものです。代わりにこれを試してください:

Dim cust As New CustInfo
MainWindow.MainPanel.Controls.Add(cust)
Dim rec As New Customer
Dim dataArr As ArrayList = rec.getFirstCust()
cust.fillFeilds(dataArr)
于 2012-09-05T21:06:37.000 に答える
0

別のスレッドにある別のクラスから呼び出す場合、スレッドの問題が発生する可能性がありますか?多分?しかし、私はそれがスローされて例外になると思います。別のスレッドで呼び出されていますか?

于 2012-09-05T20:52:46.970 に答える