【问题标题】:Get radio button value获取单选按钮值
【发布时间】:2014-12-05 19:25:51
【问题描述】:

我尝试从 Windows 商店应用程序表单中获取单选按钮值,但显示错误如下,并且我使用的是 Visual Studio 2013 和 XAML。

private void addButton_Click(object sender, RoutedEventArgs e)
{
  try
  {
    string gender = null;
    if (maleRadioButton.IsChecked || femaleRadioButton.IsChecked)
    {
      gender = maleRadioButton.Checked ? "Male" : "Female";
    }

    string Query = @"INSERT INTO `bcasdb`.`tbl_student`
                   (`reg_id`,
                   `std_fname`,
                   `std_lname`,
                   `tbl_batch_batch_id`,
                   `gender`) 
                   VALUES (@regId, @fName, @lName, @bID, @gender)";

    //This is command class which will handle the query and connection object.
    MySqlConnection conn = new MySqlConnection(BCASApp.DataModel.DB_CON.connection);
    MySqlCommand cmd = new MySqlCommand(Query, conn);
    conn.Open();
    cmd.Parameters.AddWithValue("@regId", this.regIDInput.Text);
    cmd.Parameters.AddWithValue("@fName", this.fnameInput.Text);
    cmd.Parameters.AddWithValue("@lName", this.lnameInput.Text);
    cmd.Parameters.AddWithValue("@bID", this.batchIDInput.Text);
    cmd.Parameters.AddWithValue("@gender",this.maleRadioButton);
    cmd.ExecuteNonQuery();
    conn.Close();
    successmsgBox();
  }
  catch (Exception)
  {
    errormsgBox();
  }
}

这部分有错误

string gender = null;
if (maleRadioButton.IsChecked || femaleRadioButton.IsChecked)
{
  gender = maleRadioButton.Checked ? "Male" : "Female";
}

【问题讨论】:

  • 为什么你在 if 条件中检查 IsChecked 而在三元语句中检查 Checked
  • @AlliterativeAlice 这不是错误

标签: c# mysql wpf radio-button


【解决方案1】:

RadioButton.IsChecked 属性不是 [bool],它的类型是 [bool?]。

所以你不能只使用 if 句。

您可以为单选按钮的选中标志设置特定的布尔变量。

bool isMale = false;
bool isFemale = false;

然后,

private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
   isMale = sender == maleRadioButton;
   isFemale = sender == femaleRadioButton;
}

当然, ma​​leRadioButtonfemaleRadioButton 已检查事件处理程序。
喜欢,

<RadioButton x:Name="maleRadioButton" checked="RadioButton_Checked" />
<RadioButton x:Name="femaleRadioButton" checked="RadioButton_Checked" />

那么,你可以如下使用。

string gender = null;
if (isMale || isFemale)
{
  gender = isMale ? "Male" : "Female";
}

【讨论】:

    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2016-08-30
    相关资源
    最近更新 更多