【问题标题】:Don't know what I am doing wrong in controls不知道我在控件中做错了什么
【发布时间】:2011-06-17 05:44:21
【问题描述】:

好的,这就是我目前所拥有的。我正在尝试勾选复选框,这样一次只检查一个。但出于某种原因,他们都会检查。还有一件事,我在那里有标签,但在单选按钮中,无论您检查并提交哪个单选按钮,它只会统计底部的一个。有人可以帮助我并告诉我我做错了什么......

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

结束类

好的,这应该是我的命令应该做的事情.. 创建一个新窗口项目。将表单的标题更改为 Lab3。将以下控件拖动到您的表单、文本框、蒙版文本框(设置为电话号码)、组框中的 3 个单选按钮(容器控件)、2 个复选框、月历、全部在表单的左侧,为右侧的每个控件添加标签,为文本框添加错误提供程序并确保其已输入数据,为每个控件添加工具提示,添加按钮

任务

当用户将鼠标悬停在左侧的任何控件上时,他们会得到一个工具提示,将按钮上的文本更改为“提交”,当用户点击按钮时,左侧控件的信息会出现在对,如果文本框中没有输入数据,使用errorprovider控件提示用户输入数据,所有三个单选按钮只使用1个标签,如果复选框选中,则仅显示每个复选框数据,确保添加代码以擦除如果用户取消选中复选框,则设置适当的标签,设置控件的选项卡顺序,以便您可以在左侧按顺序对它们进行选项卡,查看互联网以了解如何在用户时从日历控件中检索所选日期点击按钮。

我不希望任何人为我做这件事。我正在尝试编写代码,但我知道我在某些地方遇到了麻烦。我还是个新手,很抱歉。

【问题讨论】:

    标签: vb.net controls


    【解决方案1】:

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

    首先,为什么您希望在任何时候都只选择一个复选框?我看不出这是您任务中的要求吗?默认情况下,复选框不会表现出这种行为(这就是单选按钮的用途),但可以这样做。为此,您需要查看复选框的 selected_change 事件,当一个被选中时,取消选择所有其他事件。但是,在您这样做之前,请确保它是您在继续之前所追求的。

    对于单选按钮问题,我假设您要将所选单选按钮的文本设置为标签?好吧,目前您正在将选定的文本分配到一个字段“消息”中,但您没有在其他任何地方使用它。设置标签时,您有以下内容:

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

    而我猜你需要一些类似的东西

    Label3.Text = Message
    

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

    另一方面,我可能会考虑在 Message 中使用不同的变量名称,因为这可能会在以后导致一些混乱。

    希望能帮到你

    【讨论】:

      猜你喜欢
      • 2014-02-16
      • 1970-01-01
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 2021-01-05
      • 2019-03-13
      • 1970-01-01
      相关资源
      最近更新 更多