Ich habe ein Formular mit einigen Textfeldern und Kontrollkästchen.Im Ausführen von Berechnung aus den Werten für Textbox.Hängt vom Kontrollkästchen Status die Ausgabewerte werden geändert. gleiche Zeit, im alle diese Daten in Excel-Blatt speichern einschließlich der Checkbox Status in der Excel-Tabelle. Später werde ich diese Daten in das Formular zur weiteren Berechnung importieren. Also, wenn ich die Werte von Excel in das Formular importiere, wenn ich den Status des Kontrollkästchens als aktiviert ändere. Dann wird die Funktion Tempmetric_CheckedChanged() aufgerufen und es entsteht ein Fehler, weil ich zu diesem Zeitpunkt nicht alle Eingabewerte für die Berechnung habe. Wie kann ich das vermeiden? Ich habe nur eine Idee, Flag in Import-Funktion zu setzen, und ich werde dieses Flag in Tempmetric_CheckedChanged() überprüfen, um weitere Arbeit zu vermeiden.Assign Checkbox.checked Wert aufrufen Checked-Ereignis in VB.Net
Private Sub Tempmetric_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tempmetric.CheckedChanged
If Tempmetric.Checked Then
STempUnit.Text = "F"
FTempunit.Text = "F"
Else
STempUnit.Text = "C"
FTempunit.Text = "C"
End If
Button1_Click(sender, New System.EventArgs()) // i have to use flag before this function call
End Sub
Private Sub SaveBTn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveBTn.Click
Dim metric As Integer
If Tempmetric.Checked Then
metric = 1
Else
metric = 0
End If
xlWorkSheet.Cells(7, 1) = "Metric"
xlWorkSheet.Cells(7, 1).Font.Bold = True
xlWorkSheet.Cells(7, 2) = metric
End Sub
Private Sub ImpInputBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImpInputBtn.Click
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
For rCnt = 1 To range.Rows.Count
SamTemp.Text = xlWorkSheet.Cells(4, 2).Value.ToString
FormTemp.Text = xlWorkSheet.Cells(5, 2).Value.ToString
If xlWorkSheet.Cells(7, 2).Value = 1 Then
Tempmetric.Checked = True
End If
Next
End Sub
Gibt es einen anderen möglichen Weg, das zu tun? Was ist der Unterschied zwischen der Eigenschaft 'Checked' und 'CheckState'?
Die Verwendung eines Flags zum Aktivieren/Deaktivieren von Ereignissen in der beschriebenen Weise ist eine Standardtechnik. – peterG
"Checked" kann nur zwei Werte annehmen, die booleschen Werte (true/false), der "CheckState" kann drei Werte haben, checked/unchecked/undeterminate. Die beiden Eigenschaften ändern sich gleichzeitig, checked = true/unchecked = false/indeterminate = true. – Baro