c#获取checkbox所选中的数据
时间: 2023-11-07 09:31:35 浏览: 80
假设你有一组checkbox控件,每个控件都有一个唯一的ID和一个文本值。你想要获取哪些checkbox被选中了,可以使用以下代码:
```csharp
List<string> selectedValues = new List<string>();
foreach (Control control in this.Controls)
{
if (control is CheckBox && ((CheckBox)control).Checked)
{
selectedValues.Add(control.Text);
}
}
```
这段代码将遍历窗体上的所有控件,如果控件是一个checkbox并且被选中了,就将它的文本值添加到一个字符串列表中。你可以根据需要修改这段代码来适应你的具体应用场景。
相关问题
C#的winform怎么获取checkbox选中没有
在C# WinForm中,你可以通过事件处理程序来获取Checkbox(复选框)是否被选中。Checkbox有一个Checked属性,它的值为true表示被选中,false表示未选中。以下是获取Checkbox选中状态的基本步骤:
1. 首先,在设计阶段,双击Checkbox控件以创建一个Click事件处理程序,或者在代码窗口中手动添加`.CheckedChanged`事件。
```xml
<CheckBox ID="chkBoxExample" Text="Checkbox Example" CheckedChanged="chkBoxExample_CheckedChanged"/>
```
2. 然后,在`.cs`文件中编写`chkBoxExample_CheckedChanged`方法:
```csharp
private void chkBoxExample_CheckedChanged(object sender, EventArgs e)
{
Checkbox chk = (Checkbox)sender; // 获取触发事件的Checkbox对象
bool isChecked = chk.Checked; // 检查Checkbox是否被选中
if (isChecked)
Console.WriteLine("Checkbox被选中");
else
Console.WriteLine("Checkbox未选中");
}
```
在这个方法里,你可以根据`isChecked`变量的值做进一步的操作,比如更新UI或者保存数据。
c#gridcontrol通过checkbox删除选中行
可以使用以下代码实现:
```csharp
private void btnDelete_Click(object sender, EventArgs e)
{
// 获取选中行
List<int> selectedRows = new List<int>();
for (int i = 0; i < gridView1.RowCount; i++)
{
object cellValue = gridView1.GetRowCellValue(i, "checkboxColumnName");
if (cellValue != null && (bool)cellValue)
{
selectedRows.Add(i);
}
}
// 删除选中行
for (int i = selectedRows.Count - 1; i >= 0; i--)
{
gridView1.DeleteRow(selectedRows[i]);
}
}
```
其中,"checkboxColumnName" 是你在 GridControl 中添加的 checkbox 列的列名。需要注意的是,如果你的 checkbox 列不是绑定数据的,而是通过代码创建的,那么可以使用以下方式获取 checkbox 值:
```csharp
bool checkboxValue = (bool)gridView1.GetRowCellValue(rowIndex, gridView1.Columns["checkboxColumnName"]);
```
阅读全文