【发布时间】:2017-07-30 12:46:47
【问题描述】:
我以前从未使用过单选按钮。我有一个 datagridview,我在表单中添加了 3 个单选按钮来填充所有数据,即活动数据和非活动数据。 这就是我所要求的 is active 单选按钮,但它不想将 bool 转换为 int。
private void rbIsActive_CheckedChanged(object sender, EventArgs e)
{
string searchText = txtSearchText.Text;
//bool sActive = true;
//int i = sActive ? 1 : 0;
bool IsActive = Convert.ToInt32(rbIsActive.Checked);
var listBooks = GetBooks(searchText);
grdBooks.DataSource = listBooks;
}
我做错了什么?
【问题讨论】:
-
你想要达到什么样的输出? 1 或 0 代表真假?
-
另外,您为什么要尝试将
bool转换为int然后分配给bool -
我做错了什么? 尝试将已经是布尔值的内容转换为 int 以将其分配给布尔值。
bool IsActive = rbIsActive.Checked;。当一个复选框就足够时,可能会使用三个单选按钮。 IsActive 只能有两个值,对吧? (主动,或真,不主动,或假)。这就是复选框的具体含义:选中(true)或未选中(false)。 -
从您的代码中删除“Convert.ToInt32”。它会起作用的。