在這種情況下,如果將AutoCheck屬性設置爲True,則這些單選按鈕很難管理。無論如何,我給你一對夫婦可能的解決方案:
解決方案#1(自動檢查屬性設置爲true):
Private Sub rbtnNew_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rbtnNew.CheckedChanged
Static wasInvoked As Boolean
If Not wasInvoked Then
If rbtnNew.Checked Then
lstCustomer.Items.Add(RevName(txtName.Text.ToUpper) & " , " & (txtAddress.Text.ToUpper) & " , " & (txtCity.Text.ToUpper))
Else
If lstCustomer.SelectedItem Is Nothing Then
wasInvoked = True
rbtnNew.Checked = True
wasInvoked = False
MessageBox.Show("Please select a customer from the list.")
End If
End If
End If
End Sub
Private Sub rbtnExisting_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rbtnExisting.CheckedChanged
If rbtnExisting.Checked Then
Dim name1 As String
Dim address2 As String
Dim city2 As String
Dim output() As String
name1 = txtName.Text
address2 = txtAddress.Text
city2 = txtCity.Text
output = Split(lstCustomer.SelectedItem.ToString(), ",")
txtName.Text = output(0)
txtAddress.Text = output(1)
txtCity.Text = output(2)
lstResults.Items.Clear()
txtChairs.Clear()
txtSofas.Clear()
End If
End Sub
解決方案#2(單選按鈕的自動檢查屬性設置爲false):
Private Sub rbtnNew_CheckedChanged(sender As Object, e As System.EventArgs) Handles rbtnNew.CheckedChanged
rbtnExisting.Checked = Not rbtnNew.Checked
End Sub
Private Sub rbtnExisting_CheckedChanged(sender As Object, e As System.EventArgs) Handles rbtnExisting.CheckedChanged
rbtnNew.Checked = Not rbtnExisting.Checked
End Sub
Private Sub rbtnNew_Click(sender As Object, e As System.EventArgs) Handles rbtnNew.Click
If Not rbtnNew.Checked Then
rbtnNew.Checked = True
lstCustomer.Items.Add(RevName(txtName.Text.ToUpper) & " , " & (txtAddress.Text.ToUpper) & " , " & (txtCity.Text.ToUpper))
End If
End Sub
Private Sub rbtnExisting_Click(sender As Object, e As System.EventArgs) Handles rbtnExisting.Click
If Not rbtnExisting.Checked Then
If lstCustomer.SelectedItem Is Nothing Then
MessageBox.Show("Please select a customer from the list.")
Else
rbtnExisting.Checked = True
Dim name1 As String
Dim address2 As String
Dim city2 As String
Dim output() As String
name1 = txtName.Text
address2 = txtAddress.Text
city2 = txtCity.Text
output = Split(lstCustomer.SelectedItem.ToString(), ",")
txtName.Text = output(0)
txtAddress.Text = output(1)
txtCity.Text = output(2)
lstResults.Items.Clear()
txtChairs.Clear()
txtSofas.Clear()
End If
End If
這是你在說什麼嗎? Private Sub rbtnNew_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs)Handle rbtnNew.CheckedChanged If rbtnNew.Checked = True Then lstCustomer.Items.Add(RevName(txtName.Text.ToUpper)&「,」 &(txtAddress.Text.ToUpper)&「,」&(txtCity.Text.ToUpper)) End If End Sub – 2014-10-29 01:13:45
難以閱讀它的方式您的評論格式化的代碼,但是,基本上是這樣。您實際上也可以在同一個checkedchanged事件中處理這兩個單選按鈕。 – Zack 2014-10-29 01:34:28
錯誤仍然表示輸出沒有位置。我無法從列表框中選擇名稱來分隔並返回文本框。我正在解釋我能做到的最好的方式,但我希望你明白我在說什麼。如果我向您發送了該程序以便您能看到問題,它會有幫助嗎? – 2014-10-29 02:11:41