私は奇妙な問題を抱えています、私は小さなプログラムを作成する初心者です リストボックスを使用していくつかの統計を解き、2つのグラフを表示します 問題は、最初の3つのメインリストボックスをtxtファイルに保存して再度ロードし、同じプロセスを作成しようとするとステップラインが正しく描かれているが、X軸のズームは保存前と同じではなく、保存前とは異なる間違った場所に描かれたステップラインのポイントに従って描かれた別の交差線があります。
交差する線に特定の X、Y 値を入力しても、保存する前と同じに見えません
これは保存ボタンのコードです
Dim i As Integer
Dim w As IO.StreamWriter
Dim strFilename As String
SaveFileDialog1.Filter = "Text Files (*.txt)|*.txt"
SaveFileDialog1.FileName = "Table"
SaveFileDialog1.Title = "Save Table"
SaveFileDialog1.OverwritePrompt = True
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
strFilename = SaveFileDialog1.FileName
w = New IO.StreamWriter(strFilename)
For i = 0 To lstFrom.Items.Count - 1
w.WriteLine(lstFrom.Items.Item(i))
Next
w.WriteLine("*")
For i = 0 To lstFrom.Items.Count - 1
w.WriteLine(lstTo.Items.Item(i))
Next
w.WriteLine("**")
For i = 0 To lstFrom.Items.Count - 1
w.WriteLine(lstF.Items.Item(i))
Next
w.Close()
End If
これは開くボタンのコードです
ClearAll()
Dim strFileName As String
With OpenFileDialog1
.Filter = "Text Files (*.txt)|*.txt"
.Title = "Open Table"
End With
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
strFileName = OpenFileDialog1.FileName
Dim myreader As New StreamReader(strFileName)
Dim line As String
line = myreader.ReadLine()
Do Until line = "*"
lstFrom.Items.Add(line)
line = myreader.ReadLine()
Loop
Do Until line = "**"
lstTo.Items.Add(line)
line = myreader.ReadLine()
Loop
Do Until line = ""
lstF.Items.Add(line)
line = myreader.ReadLine()
Loop
myreader.Close()
lstTo.Items.Remove(lstTo.Items(0)) ' that's remove the "*"
lstF.Items.Remove(lstF.Items(0)) ' That's remove the "**"
AllWork()
End If
AllWork() は、プロセス全体とグラフの表示を行う同じメソッドです
これは、開くボタンで破損したチャートを再描画するすべてのコードです
これは ClearAll() メソッドからのものです
Chart2.Series(0).Points.Clear()
Chart2.Series(1).Points.Clear()
Chart2.Series(2).Points.Clear()
Chart2.Series(3).Points.Clear()
Chart2.Series(4).Points.Clear()
これは AllWork() メソッドにあります
Chart2.Series(0).Points.Clear()
Chart2.Series(1).Points.Clear()
Chart2.Series(2).Points.Clear()
Chart2.Series(3).Points.Clear()
Chart2.Series(4).Points.Clear()
For i = 0 To lstVariableFrequency.Items.Count - 1
If lstVariableFrequency.Items(i) = dblHighestVariableFrequency Then
dblF1 = lstVariableFrequency.Items(i - 1)
dblF2 = lstVariableFrequency.Items(i + 1)
dblClassBoundry2 = lstTo.Items(i) - lstFrom.Items(i)
dblVersusF = lstFrom.Items(i)
Chart2.Series(0).Points.AddXY(lstFrom.Items(i - 1), lstVariableFrequency.Items(i - 1))
Chart2.Series(0).Points.AddXY(lstFrom.Items(i), lstVariableFrequency.Items(i))
Chart2.Series(0).Points.AddXY(lstFrom.Items(i + 1), lstVariableFrequency.Items(i + 1))
Chart2.Series(1).Points.AddXY(lstFrom.Items(i), lstVariableFrequency.Items(i - 1))
Chart2.Series(1).Points.AddXY(lstFrom.Items(i + 1), lstVariableFrequency.Items(i))
Chart2.Series(2).Points.AddXY(lstFrom.Items(i), lstVariableFrequency.Items(i))
Chart2.Series(2).Points.AddXY(lstFrom.Items(i + 1), lstVariableFrequency.Items(i + 1))
dblMode = dblVersusF + (dblF2 / (dblF1 + dblF2)) * dblClassBoundry2
Exit For
End If
開くボタンでチャートの x 軸を表す lstfrom リストを設定する
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
strFileName = OpenFileDialog1.FileName
Dim myreader As New StreamReader(strFileName)
Dim line As String
line = myreader.ReadLine()
Do Until line = "*"
lstFrom.Items.Add(line)
line = myreader.ReadLine()
Loop
このコードは、Y 軸を表す lstVariableFrequency リストを設定します
For i = 0 To lstFrom.Items.Count - 1
lstL.Items.Add(lstTo.Items(i) - lstFrom.Items(i))
lstVariableFrequency.Items.Add(lstF.Items(i) / lstL.Items(i))
Next