0

私は Visual Basic 2010 を使用しており、表示されているサブフォーム内で 2 つのボタンを押す必要がありますが、次のボタンを押す前に最初のボタンのコードを完了する必要があります。これを許可する方法はありますか?ありがとう :)

  Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown

    BindingNavigatorMoveLastItem.PerformClick()))

   'I need this next button click to be carried out after the one above has completely finished

    BindingNavigatorMovePreviousItem.PerformClick()))

End Sub
4

2 に答える 2

0

「ボタンクリック」の代わりにメソッドを使用します。

Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
    MoveLastItem()
    MovePreviousItem()
End Sub

Private Sub MoveLastItem()
    bindingSource1.MoveLast();
End Sub

Private Sub MovePreviousItem()
    bindingSource1.MovePrevious();
End Sub

ボタンクリック イベント ハンドラーからもこれらのメソッドを呼び出すだけです。

Private Sub BindingNavigatorMoveLastItem_Clicked(sender As Object, args As EventArgs) Handles BindingNavigatorMoveLastItem.Click
    MoveLastItem()
End Sub

Private Sub BindingNavigatorMovePreviousItem_Clicked(sender As Object, args As EventArgs) Handles BindingNavigatorMovePreviousItem.Click
    MovePreviousItem()
End Sub
于 2013-08-07T23:07:00.607 に答える
0

私は VB を使用していないことを認めなければなりませんが、このページを見つけたので、役に立つかもしれません。

http://msdn.microsoft.com/en-us//library/system.windows.forms.application.doevents.aspx

それが関係ない場合、あなたの状況では、ボタンを使用してフラグを設定し、単純にフラグを if-test するか、do-while ループを作成して、条件が満たされている間にコードの実行を終了できるようにします。ただし、無限ループが得意なので注意してください。

別の考えは、最初のボタンのコードの最後の行で 2 番目のボタンを有効にすることですか?

何かが役立つことを願っています。役に立たない場合はお詫び申し上げます。

于 2013-08-07T23:22:13.087 に答える