0

基本的に私はこの種の初心者であり、同様に Microsoft のメモ帳を複製して、独自のメモ帳アプリケーションを作成して練習しようとしています。私は何時間もオンラインで検索しましたが、勝てませんでした。

問題は、ToolStripMenu の「New」項目から始めました。これを押すと、ユーザーに「このドキュメントへの変更を保存しますか?」というメッセージが表示されます。ユーザーが [はい] を押すと、SaveFileDialogが表示され、ユーザーは好きな場所に保存できます。ユーザーが [いいえ] を押すと、RichTextDialogBox 内の情報がクリアされ、ユーザーが [キャンセル] を押すと、予定どおり、変更を加えずに戻ります。ただし、「いいえ」または「キャンセル」ボタンをクリックすると、ユーザーに SaveFileDialog ボックスが表示されます。ボタン「いいえ」と「キャンセル」がSaveFileDialogでユーザーにプロンプ​​トを表示しないように、誰かが私のコードを少し変更するのを手伝ってくれる可能性はありますか?

    Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click
    Dim intResult As Integer = Nothing
    Dim dlg As SaveFileDialog = New SaveFileDialog
    dlg.Filter = "Text File (*.txt)|*.txt"
    intResult = MessageBox.Show("Do you want to save the changes made to this document?", "Warning", MessageBoxButtons.YesNoCancel)
    If dlg.ShowDialog = Windows.Forms.DialogResult.Yes Then
        RichTextBox1.SaveFile(dlg.FileName, RichTextBoxStreamType.RichText)
    ElseIf intResult = Windows.Forms.DialogResult.No Then
        RichTextBox1.Clear()
    End If
    If intResult = Windows.Forms.DialogResult.Cancel Then
        Return
    End If
End Sub
4

1 に答える 1

0

If条件付きテストの一部としてダイアログを呼び出しているためだと思います

以下を試してください

Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click

    Dim intResult As Integer = Nothing
    Dim dlg As SaveFileDialog = New SaveFileDialog

    dlg.Filter = "Text File (*.txt)|*.txt"
    intResult = MessageBox.Show("Do you want to save the changes made to this document?", "Warning", MessageBoxButtons.YesNoCancel)

    If intResult = Windows.Forms.DialogResult.Yes Then
        dlg.ShowDialog
        RichTextBox1.SaveFile(dlg.FileName, RichTextBoxStreamType.RichText)
    ElseIf intResult = Windows.Forms.DialogResult.No Then
        RichTextBox1.Clear()
    Else
        Return
    End If

End Sub
于 2013-03-25T19:24:53.960 に答える