清除NumericUpDown

时间:2014-02-17 14:05:03

标签: vb.net winforms numericupdown

我对NumericUpDown控件的问题是当用户从NumericUpDown中选择一个值并取消选中checkBox1并单击Save按钮时,NumericUpDown的值未被清除:

 Public Class FormAdd


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.StudenttableBindingSource.AddNew()
End Sub

Private Sub BttnSave_Click(sender As Object, e As EventArgs) Handles BttnSave.Click

    Me.StudenttableBindingSource.EndEdit()
    Me.StudenttableTableAdapter.Update(Me.StudentDataSet.studenttable)
    Me.StudenttableTableAdapter.Fill(Me.StudentDataSet.studenttable)
    MsgBox(" Student Saveed", MsgBoxStyle.Information)
    Me.StudenttableTableAdapter.Fill(Main.StudentDataSet.studenttable)
    Me.Close()
End Sub

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
    If CheckBox1.Checked = False Then
        AgeNumericUpDown.Value = AgeNumericUpDown.Minimum
        AgeNumericUpDown.Text = ""
    End If
End Sub

如果用户选择一个值并取消选中AgeNumericUpDown的CheckBox1值以重置为空字符串,我需要。

画报:

enter image description here

3 个答案:

答案 0 :(得分:0)

NumericUpDown不包含字符串。它具有数字的价值。所以它应该是:

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
      If CheckBox1.Checked = False Then
            AgeNumericUpDown.Value = 0
      End If
End Sub

修改

如果您不希望该值为零,请检查此项,但是为空!

 Private Sub BttnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttnSave.Click
    If AgeNumericUpDown.Value <> 0 Then
        AgeNumericUpDown.Controls(1).Text = ""
    End If
End Sub

答案 1 :(得分:0)

访问NumericUpDown的文本控件,然后将文本设置为空白

Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged

    If CheckBox1.Checked = False Then
        AgeNumericUpDown.Controls.Item(1).Text = ""
    End If

End Sub

enter image description here

答案 2 :(得分:0)

我在没有微调器的情况下使用NumericUpDown控件,因为我只需要数字。该控件位于从列表视图选择中调用的子对话框中。当要加载到NumericUpDown控件中的值在listwiew中为零时,该控件中为零。始终必须清除零。这是我如何使其“显示”为空白。如果为零,则将控件的ForeColor更改为白色。我添加了一个Enter事件,该事件将ForeColor更改为黑色,并删除了零。

这隐藏了NumericUpDown控件微调器。

AccessCode.Controls[0].Visible = false;

这些语句采用初始化形式。 (将可变代码加载到AccessCode中)

        if (code == 0)
        {
            AccessCode.ForeColor = Color.White;
        }

Enter事件代码如下所示。

    private void AccessCode_Enter(object sender, EventArgs e)
    {
        if (AccessCode.ForeColor == Color.White)
        {
            AccessCode.ForeColor = Color.Black;
            AccessCode.Focus();
            SendKeys.SendWait("{Delete}");
        }
    }

AccessCode控件还具有一个Leave事件,用于检查有效数据。