单击按钮后,在文本框中显示checkBox的文本

时间:2017-02-03 15:15:28

标签: c# checkbox textbox

单击按钮后,光标应将位置更改为另一个TextBox

private void btnOk_Click(object sender, EventArgs e)
{
    if (checkBox1.Checked)
        txtAffiche.Text = txtAffiche.Text + Environment.NewLine + checkBox1.Text;
    else if (checkBox2.Checked)
        txtAffiche.Text = txtAffiche.Text + Environment.NewLine + checkBox2.Text;
    else if (checkBox3.Checked)
        txtAffiche.Text = txtAffiche.Text + Environment.NewLine + checkBox3.Text;
    else if (checkBox4.Checked)
        txtAffiche.Text = txtAffiche.Text + Environment.NewLine + checkBox4.Text;

}

1 个答案:

答案 0 :(得分:0)

我猜您要将文字添加到txtAffiche TextBox,具体取决于选中哪个复选框?如果是这种情况,那么使用CheckBoxes时if / else语句会有些混乱。 CheckBoxes用于检查/取消选中单个项目。当有超过1 CheckBox(s)时,它们不像单选按钮一样工作,只有当超过1时才能选择一(1)个单选按钮。因此多CheckBox可以同时检查。

if / else / if / else语句基本上只设置一个(1)checkbox.text名称,即使选中了所有复选框也是如此。这个if / else / if / else语句只显示FIRST复选框。如果检查了多个CheckBox,这似乎很奇怪。我猜你可能想要显示当前检查过的所有CheckBox es。我希望下面的代码可以提供帮助。

private void button1_Click(object sender, EventArgs e) {
  StringBuilder sb = new StringBuilder();
  if (checkBox1.Checked)
    sb.Append(checkBox1.Text + " ");
  if (checkBox2.Checked)
    sb.Append(checkBox2.Text + " ");
  if (checkBox3.Checked)
    sb.Append(checkBox3.Text + " ");
  if (checkBox4.Checked)
    sb.Append(checkBox4.Text + " ");
  txtAffiche.Text = txtAffiche.Text + Environment.NewLine + sb.ToString();
}