tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: FormClosing内でのButton1.PerformClick()について
投稿日: 2014/03/04(Tue) 11:52
投稿者OrientalMelody
VBレスキュー(花ちゃん)様

迅速なご回答、大変有難うございます。

確かに仰るとおり、Form1がスタートアップフォームでは、私の環境でも問題ないようです。

考えたら、実アプリでは、Menu画面から呼び出された画面で起こることに気がつきました。

Form2を追加し、以下のコード

Public Class Form2

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim Form1 As New Form1
        Form1.ShowDialog()
        Form1.Dispose()

    End Sub
End Class

を追加後、スタートアップフォームを Form2 にして頂いてから試してみていただけませんでしょうか?

こちらの環境では必ず再現いたします。

恐れ入りますが、宜しくお願いいたします。

> 下記のような動作でよいのですよね。
> 問題がないように思うのですが?
>
> Public Class Form1
>
> Private m_bChangeFlg As Boolean
>
> Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
>    m_bChangeFlg = True
> End Sub
>
> Private Sub cmdSave_Click(sender As System.Object, e As System.EventArgs) Handles cmdSave.Click
>     MessageBox.Show("保存しました")
>    m_bChangeFlg = False
> End Sub
>
> Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
>    If m_bChangeFlg Then
>       Select Case MsgBox("データが変更されています。保存しますか?", vbYesNoCancel, Me.Text)
>             Case vbYes
>                cmdSave.PerformClick()
>                If m_bChangeFlg Then
>                   e.Cancel = True
>                   Exit Sub
>                End If
>             Case vbNo
>             Case vbCancel
>                e.Cancel = True
>                Exit Sub
>       End Select
>    End If
> End Sub
>
> End Class

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。