不知道我在控件中做错了什么

时间:2011-06-17 05:44:22

标签: vb.net controls

好这是我到目前为止所拥有的。我正在尝试复选框,这样一次只检查一个。但出于某种原因,他们都会检查。另外一件事我在那里有标签,但在无线电按钮中,无论你检查哪一个,只提供底部的统计数据。有人可以帮助我,告诉我我做错了什么......

Public Class Form1

Dim Message As String

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, MaskedTextBox1.TextChanged

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    If TextBox1.Text <> "" Then
        ErrorProvider1.Clear()
        Label1.Text = TextBox1.Text
    Else
        ErrorProvider1.SetError(TextBox1, "Please enter text")
    End If
End Sub



Private Sub MonthCalendar1_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged

    Me.Text = Me.MonthCalendar1.SelectionRange.Start.ToShortDateString
End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Label2.Text = MaskedTextBox1.Text
    Label3.Text = RadioButton1.Text
    Label3.Text = RadioButton2.Text
    Label3.Text = RadioButton3.Text
    Label4.Text = CheckBox1.Text
    Label5.Text = CheckBox2.Text
    Label6.Text = MonthCalendar1.Text

    Dim message As String
    message = ""
    If CheckBox1.Checked Then
        message += "first one clicked"
    End If
    If CheckBox2.Checked Then
        message += " second one clicked"
    End If
    MessageBox.Show(message)

      End Sub

      Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As  System.EventArgs) Handles RadioButton3.CheckedChanged, RadioButton2.CheckedChanged, RadioButton1.CheckedChanged
      Dim radMessage As RadioButton = CType(sender, RadioButton)
      If radMessage.Checked Then
        Message = radMessage.Text
      End If

End Sub

结束班

好的,这就是假设我的命令正在做的事情。 创建一个新窗口Project。将表单的标题更改为Lab3.drag将以下控件添加到表单,文本框,屏蔽文本框(设置为电话号码),组框中的3个radiobuttons(容器控件),2个复选框,月历,在表单的左侧,为右侧的每个控件添加标签,为文本框添加errorprovider并确保输入数据,向每个控件添加工具提示,添加按钮

任务

当用户将鼠标悬停在左侧的任何控件上时,他们会得到一个工具提示,将按钮上的文本更改为“提交”,当用户计时按钮时,左侧控件的信息会显示在标签上对,如果没有在文本框中输入数据,请使用errorprovider控件提示用户输入数据,仅对所有三个单选按钮使用1个标签,如果选中复选框,则仅显示每个复选框数据,确保添加代码以擦除适当的标签,如果用户UNCHECKS一个复选框,设置控件的Tab键顺序,这样你可以按顺序在左侧按顺序选项,查看互联网上的内容,了解如何从用户的日历控件中重新选择日期点击按钮。

我不希望任何人为我这样做。我正在尝试做代码,但我知道我在某些地方。我仍然是一个新手,很抱歉。

1 个答案:

答案 0 :(得分:0)

我不希望这个答案可以解决你所有的问题,但希望它应该成为一个起点。

首先,为什么你想在任何时候只选择一个复选框?我不认为这是你任务的要求吗?默认情况下,复选框不会显示该行为(即单选按钮的用途),但可以使用它们。要执行此操作,您需要查看复选框的selected_change事件,并在选择一个时,取消选择所有其他事件。但是,在您这样做之前,请确保它在您进行之前就是您所追求的。

发出单选按钮问题,我假设您要将所选单选按钮的文本设置为标签?那么你目前正在将所选文本分配到一个字段Message中,但是你没有在其他任何地方使用它。设置标签时,您有以下内容:

Label3.Text = RadioButton1.Text
Label3.Text = RadioButton2.Text
Label3.Text = RadioButton3.Text

而我猜你需要的东西是

Label3.Text = Message

此时您正在设置相同的标签文本三次,并且只会显示第三个单选按钮文本。

另一方面,我可能会想到使用不同的变量名称Message,因为它可能会在以后引起一些混乱。

希望能让你到达某个地方