我对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值以重置为空字符串,我需要。
画报:
答案 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
答案 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事件,用于检查有效数据。