2016-06-30 2 views
-2

ユーザーがフォーム2のボタンをクリックすると、メインのスタートアップフォームのフォーム1にあるテキストボックスをいくつかリフレッシュしたいと思います。基本的に、テキストボックスにはリアルタイム株式。別のフォームから1つのフォームの内容をリフレッシュする

  • はForm2のからform1.subThatRefreshesTextboxesを呼び出す:ここ

    は、私がこれまで試してみましたものです。

  • form1.activatedコードでリフレッシュコードを配置

はありがとう

+0

こんにちはおよびSOに歓迎し、([依頼方法】読むためにいくつかの時間がかかるしてくださいhttp://stackoverflow.com/help/how-to-ask )、[MCVE]を提供しようとします。 –

答えて

0

これを行うにはきれいな方法があり、

まず、フォーム1に、あなたが作成更新されますPublic Sub( )あなたのTextBox。次に、フォーム2からForm1のSubを呼び出します。

Public Class Form1 

    'Some code here 

    Public Sub RefreshMyTextBox() 
     If Me.InvokeRequired() Then 
      Me.Invoke(Sub() RefreshMyTextBox()) 
     Else 
      'Code to refresh your textbox here 
     End If 
    End Sub 

    'Some code there 

End Class 

、フォーム上の2

Public Class Form2 

    'Some code here 

    private _form1 As Form1 'You need a reference to Form1 

    Private Sub Button_Clicked(sender As Object, e As EventArgs) Handles Button.Click 
     'Whenever you need it, call the Form1.RefreshMyTextBox 
     Me._form1.RefreshMyTextBox() 
    End Sub 

    'Some code there 

End Class 
+0

私が気づいたことがいくつかあります。フォームが呼び出される必要があるかどうかをチェックしたくない場合は、テキストボックスをチェックする必要があります。またForm2では、渡されたForm1が何も表示されないので、Form1への参照があることをどのように知っていますか?最後に、なぜform1のプライベート変数を作成し、それを使用しないのですか?...また、OPは試行を表示するために何も試していません、上記のコメントにこれを言及してください。 – Codexer

+1

@Zaggler CheckBoxはForm1と同じスレッドで作成されるため、基本的に同じです。私はOPからのコードを見なかったので参照がどこから来るのかわかりません。彼がそれを投稿すれば私の答えは変わるかもしれません。 _form1は、テキストボックス(編集済みの回答)を更新するために呼び出されたときに使用されます。そして、あなたが正しいと思う最後の点は、私が持っていてはいけないミスをしましたが、落としてはいけませんでした。 –

+2

@Zaggler OPはまだ試したことはありませんでしたが、それを実装する際に。 –

関連する問題