0

ファイルを保存するとうまく動作する次のコードがあります。ただし、「保存」または「キャンセル」オプションで「保存」ダイアログボックスが開くと.....キャンセルをクリックすると、ここで例外エラーが発生します。 W.WriteLine(gradesListBox.Items(1).ToString)私はこれを修正しますか? 私はこれを試しましたが、どこにも行きません。

 If result <> Windows.Forms.DialogResult.Cancel Then
        Close()
    End If

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim result As DialogResult

    'Writes txt File to C: Drive
    SaveFileDialog1.InitialDirectory = ("C:\")
    SaveFileDialog1.FileName = ("Save As...")
    SaveFileDialog1.Filter = ("Only Text Files (*.txt)|*.txt")
    SaveFileDialog1.ShowDialog()

           Dim W As New IO.StreamWriter(SaveFileDialog1.FileName, True)  ' writes specified information to save file
    W.WriteLine(lblTimeDate.Text & "             " & txtJobFileName.Text)
    W.WriteLine() 'Writes Blank Line
    W.WriteLine()

    'Formats Write to save file       
    W.WriteLine(vbTab & gradesListBox.Items(0).ToString)
    W.WriteLine(gradesListBox.Items(1).ToString)
    W.WriteLine(gradesListBox.Items(2).ToString)
    W.WriteLine(gradesListBox.Items(3).ToString)
    W.WriteLine(gradesListBox.Items(4).ToString)
    W.WriteLine(gradesListBox.Items(6).ToString)
    W.WriteLine(gradesListBox.Items(9).ToString)
    W.WriteLine(gradesListBox.Items(7).ToString)
    W.WriteLine(gradesListBox.Items(8).ToString)
    W.WriteLine(gradesListBox.Items(9).ToString)
    W.WriteLine(gradesListBox.Items(10).ToString)
    W.WriteLine()
    W.WriteLine()
4

1 に答える 1

1
If SaveFileDialog1.ShowDialog <> DialogResult.Cancel Then
  '  do all that stuff


End If

奇妙なことに、ダイアログの結果変数がありますが、使用していません。リストボックス内の各項目を指定する必要はありません (何百もの項目があるとかなり面倒になります):

 For n as integer=0 to gradesListBox.items.count-1
     W.WriteLine(gradesListBox.Items(n).ToString)
 next n
于 2013-10-30T00:16:04.583 に答える