「続行」および「キャンセル」というテキストのボタンが付いたVB6フォームがあります。どちらがクリックされたかを確認したい。C#では、すべてのフォームにダイアログ結果があり、クリックされたボタンに応じて、フォームを終了する前に設定できます。これはVB6では見られません。
ダイアログの結果はありますか?そうでない場合、ダイアログの結果を確認するためのベストプラクティスは何ですか?
「続行」および「キャンセル」というテキストのボタンが付いたVB6フォームがあります。どちらがクリックされたかを確認したい。C#では、すべてのフォームにダイアログ結果があり、クリックされたボタンに応じて、フォームを終了する前に設定できます。これはVB6では見られません。
ダイアログの結果はありますか?そうでない場合、ダイアログの結果を確認するためのベストプラクティスは何ですか?
.net WinFormsの動作をシミュレートするには、フォームのコードにヘルパー関数が必要です。
Public Function ShowDialog() As VbMsgBoxResult
Me.Show vbModal
ShowDialog = Iif(Cancelled, vbCancel, vbOk)
Unload Me
End Function
フォームレベルの変数は、またはをCancelled
呼び出す前にボタンイベント関数で設定できます。または、結果コードを直接含む変数を使用することもできます。.Hide()
.Close()
VB6では、ダイアログは通常、vbYes、vbNo、vbCancelなどに対応する整数値を返します。詳細については、次の記事を参照してください。http ://www.vb6.us/tutorials/understanding-msgbox-command-visual-basic
http://www.code-vb.com/fragments/Dialogs.htm#MsgboxOK-キャンセル
自分でフォームを作成した場合は、フォームで指定する必要があります。
この投稿の最後の回答には、役立つヒントがあります:http ://www.xtremevbtalk.com/archive/index.php/t-306663.html