如何启用一个按钮是我的两个单选按钮之一被选中,并且textBox1
有一个值?
我试过这个:
if (textBox1.Text != null && (radioButton1.Checked == true || radioButton2.Checked == true))
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
顺便说一句,我怎样才能限制文本框只接收数字?
如何启用一个按钮是我的两个单选按钮之一被选中,并且textBox1
有一个值?
我试过这个:
if (textBox1.Text != null && (radioButton1.Checked == true || radioButton2.Checked == true))
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
顺便说一句,我怎样才能限制文本框只接收数字?
如果您使用的是 C# winForms:
关于仅使用数字,我会使用“Numeric Up-down”控件,因为它还为您提供了浮点数选项,而无需进行键检查和事件以及所有这些事情,并为您进行所有背景检查。
因此我会选择:
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
if ((numericUpDown1.Value > 0) && //or some verification on your input variable
((radioButton1.Checked) || (radioButton2.Checked)))
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
}
顺便说一句,我不确定为什么要使用单选按钮,如果您希望您的用户选择两个选项之一,并且无论选中哪个单选按钮,您都希望启用该按钮,我会使用组合框和将根据我的文本框(或数字向上/向下)启用按钮,并仅使用 comboBox.SelectedIndex 作为选项。
编辑后:
然后,请查看此线程仅在文本框中查找数字:如何制作仅接受数字的文本框?
解决方案 1:这是您的第一个问题的解决方案 - 基于单选按钮启用或禁用按钮。
if ((String.IsNullOrEmpty(textBox1.Text.ToString().Trim())) && (radioButton1.Checked || radioButton2.Checked))
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
解决方案2:这是仅接受控制数字的解决方案,您需要在事件Textbox
中编写以下代码。TextBox
KeyPress
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar))
e.Handled = true;
}
使用string.IsNullOrEmpty,表示指定的字符串是 Nothing 还是 Empty 字符串。
if (!string.IsNullOrEmpty(textBox1.Text) && (radioButton1.Checked || radioButton2.Checked ))
{
button1.Enabled = true;
}
else
{
button1.Enabled = false;
}
if (!string.IsNullOrEmpty(textBox1.Text) && (radioButton1.Checked || radioButton2.Checked))
button1.Enabled = true;
else
button1.Enabled = false;
就需要数字而言,假设您使用的是 WinForms,我会使用带掩码的文本框。我不知道 ASP 等价物。
被 Satpal 勉强击败 :(
IsNullOrEmpty 将检查以确保它,顾名思义,不为空,并且输入了一些内容,因此它不是空白,也就是空字符串。
使文本框只接受数字
导入此命名空间
using System.Text.RegularExpressions;
然后在表单加载添加
Regex numbers_only= new Regex("^[0-9]{3}$");
在检查文本框不为空时,还要检查它是否只有数字
if(textBox1.Text != null & numbers_only.IsMatch(textBox1.Text))
{ your code }
注意:{3} 是可接受的数字长度。