禁用NumericUpdown C#
学生回来了!我想自学C#,所以请原谅我简单但很多的问题。谢谢大家 我正在开发一个测验应用程序。我想要但似乎无法实现的是,当选择“测试模式”(单选按钮)时,“问题数”需要灰显。否则,学生可以选择要尝试的问题数。 这是我的密码禁用NumericUpdown C#,c#,C#,学生回来了!我想自学C#,所以请原谅我简单但很多的问题。谢谢大家 我正在开发一个测验应用程序。我想要但似乎无法实现的是,当选择“测试模式”(单选按钮)时,“问题数”需要灰显。否则,学生可以选择要尝试的问题数。 这是我的密码 private void rdotesting_CheckedChanged(object sender, EventArgs e) { if (MessageBox.Show("You have selected Testing Mod
private void rdotesting_CheckedChanged(object sender, EventArgs e)
{
if (MessageBox.Show("You have selected Testing Mode.Do you want to continue?", "Confirm Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
{
MessageBox.Show("Click 'Start' to continue..");
btnclose.Hide();
}
else
{
MessageBox.Show("You Must select an option to continue.");
}
}
//if testing mode, dissable number of questions ,and also the 'Close' button
像这样-见评论
private void rdotesting_CheckedChanged(object sender, EventArgs e)
{
//this event fires when rdotesting is checked or when it is unchecked (change)
//set the enabled state of the nud/button to th opposite of the checked state
//ie when checked = true then enabled = false
numberQsNUD.Enabled = !rdotesting.Checked;
closeButton.Enabled = !rdotesting.Checked;
//if not in test mode, exit to stop the message showing every time
if(!rdotesting.Checked)
return;
if (MessageBox.Show("You have selected Testing Mode.Do you want to continue?", "Confirm Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
rdotesting.Checked = false; //user said no; turn off test mode
像这样-见评论
private void rdotesting_CheckedChanged(object sender, EventArgs e)
{
//this event fires when rdotesting is checked or when it is unchecked (change)
//set the enabled state of the nud/button to th opposite of the checked state
//ie when checked = true then enabled = false
numberQsNUD.Enabled = !rdotesting.Checked;
closeButton.Enabled = !rdotesting.Checked;
//if not in test mode, exit to stop the message showing every time
if(!rdotesting.Checked)
return;
if (MessageBox.Show("You have selected Testing Mode.Do you want to continue?", "Confirm Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
rdotesting.Checked = false; //user said no; turn off test mode
简单地说,你可以试试这个代码
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
numberQsNUD.Enabled = false;
closeButton.Enabled = false;
} else {
numberQsNUD.Enabled = true;
closeButton.Enabled = true;
}
}
private void EnableComponent(bool check) {
numberQsNUD.Enabled = check;
closeButton.Enabled = check;
}
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
EnableComponent(false);
} else {
EnableComponent(true);
}
}
或者,您可以通过使用此代码自定义此项
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
numberQsNUD.Enabled = false;
closeButton.Enabled = false;
} else {
numberQsNUD.Enabled = true;
closeButton.Enabled = true;
}
}
private void EnableComponent(bool check) {
numberQsNUD.Enabled = check;
closeButton.Enabled = check;
}
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
EnableComponent(false);
} else {
EnableComponent(true);
}
}
简单地说,你可以试试这个代码
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
numberQsNUD.Enabled = false;
closeButton.Enabled = false;
} else {
numberQsNUD.Enabled = true;
closeButton.Enabled = true;
}
}
private void EnableComponent(bool check) {
numberQsNUD.Enabled = check;
closeButton.Enabled = check;
}
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
EnableComponent(false);
} else {
EnableComponent(true);
}
}
或者,您可以通过使用此代码自定义此项
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
numberQsNUD.Enabled = false;
closeButton.Enabled = false;
} else {
numberQsNUD.Enabled = true;
closeButton.Enabled = true;
}
}
private void EnableComponent(bool check) {
numberQsNUD.Enabled = check;
closeButton.Enabled = check;
}
private void rdotesting_CheckedChanged(object sender, EventArgs e) {
if(rdotesting.Checked) {
EnableComponent(false);
} else {
EnableComponent(true);
}
}
如果选择测试,则设置
NumUpDown.Enabled=false
;代码中的Bug;当单选按钮未选中时,checkedchanged将触发。如果选择了测试,则设置NumUpDown.Enabled=false
;代码中的Bug;当单选按钮未选中时,checkedchanged将启动,这也非常有用。只是另外一个问题…我希望在选择(学习或测试模式)之前禁用“开始”按钮。我该怎么做?这很有帮助。只是另外一个问题…我希望在选择(学习或测试模式)之前禁用“开始”按钮。我该怎么做?这很有帮助。只是另外一个问题…我希望在选择(学习或测试模式)之前禁用“开始”按钮。我该怎么做呢?在窗体设计器的属性中将其设置为enabled=false,然后在每个单选按钮上都有两个事件处理程序(每个单选按钮上都有一个-您已经在rdotesting上有一个,所以只需添加另一个),并在每个处理程序集中设置startButton.enabled=true。。。这样一来,用户点击哪一个东西并不重要;一个或另一个会导致startBUtton.Enabled=True工作得很好。谢谢你,这很有帮助。只是另外一个问题…我希望在选择(学习或测试模式)之前禁用“开始”按钮。我该怎么做呢?在窗体设计器的属性中将其设置为enabled=false,然后在每个单选按钮上都有两个事件处理程序(每个单选按钮上都有一个-您已经在rdotesting上有一个,所以只需添加另一个),并在每个处理程序集中设置startButton.enabled=true。。。这样一来,用户点击哪一个东西并不重要;一个或另一个会导致startBUtton.Enabled=True工作得很好。谢谢Caius