Guía práctica de desarrollo de aplicaciones WinForm: consejos para la asignación de controles de casillas de verificación

En el desarrollo de programas WinForm, tengo algunos consejos para asignar y obtener valores para casillas de verificación, permítanme compartirlos y discutirlos.

PD: Recomiendo un componente de interfaz que se puede usar en el desarrollo de C#: DevExpress WinForms , que puede crear perfectamente aplicaciones fluidas, hermosas y fáciles de usar, ya sea una interfaz estilo Office o analizar y procesar grandes cantidades de datos comerciales. ¡Puedes hacerlo con facilidad!

Haga clic para obtener la versión oficial de DevExpress v23.1 (intercambio técnico Q: 523159565)

El escenario de la aplicación es así, si necesita usar casillas de verificación para presentar contenido, como se muestra en la siguiente figura:

Guía práctica de desarrollo de aplicaciones WinForm: consejos para la asignación de controles de casillas de verificación

El contenido de la parte cortada anterior es colocar múltiples CheckBoxes en GroupBox; de hecho, esta parte también puede usar el control CheckedListBox del control Winform para presentar el contenido, como se muestra a continuación.

Guía práctica de desarrollo de aplicaciones WinForm: consejos para la asignación de controles de casillas de verificación

No importa qué tipo de control se use, tendremos el problema de asignarlo. He encapsulado una función aquí, que puede asignar valores fácilmente al control. El código general es el siguiente.

CheckBoxListUtil.SetCheck(this.groupRemove, info.切除程度);

Entonces, cómo obtener el código de contenido del control, el código es el siguiente:

info.切除程度 = CheckBoxListUtil.GetCheckedItems(this.groupRemove);

La asignación y recuperación se llaman a través de la función de encapsulación, que es muy simple y se puede reutilizar, la función del método de encapsulación es la siguiente.

public class CheckBoxListUtil
{
/// <summary>
/// 如果值列表中有的,根据内容勾选GroupBox里面的成员.
/// </summary>
/// <param name="group">包含CheckBox控件组的GroupBox控件</param>
/// <param name="valueList">逗号分隔的值列表</param>
public static void SetCheck(GroupBox group, string valueList)
{
string[] strtemp = valueList.Split(',');
foreach (string str in strtemp)
{
foreach (Control control in group.Controls)
{
CheckBox chk = control as CheckBox;
if (chk != null && chk.Text == str)
{
chk.Checked = true;
}
}
}
}

/// <summary>
/// 获取GroupBox控件成员勾选的值
/// </summary>
/// <param name="group">包含CheckBox控件组的GroupBox控件</param>
/// <returns>返回逗号分隔的值列表</returns>
public static string GetCheckedItems(GroupBox group)
{
string resultList = "";
foreach (Control control in group.Controls)
{
CheckBox chk = control as CheckBox;
if (chk != null && chk.Checked)
{
resultList += string.Format("{0},", chk.Text);
}
}
return resultList.Trim(',');
}

/// <summary>
/// 如果值列表中有的,根据内容勾选CheckedListBox的成员.
/// </summary>
/// <param name="cblItems">CheckedListBox控件</param>
/// <param name="valueList">逗号分隔的值列表</param>
public static void SetCheck(CheckedListBox cblItems, string valueList)
{
string[] strtemp = valueList.Split(',');
foreach (string str in strtemp)
{
for (int i = 0; i < cblItems.Items.Count; i++)
{
if (cblItems.GetItemText(cblItems.Items[i]) == str)
{
cblItems.SetItemChecked(i, true);
}
}
}
}

/// <summary>
/// 获取CheckedListBox控件成员勾选的值
/// </summary>
/// <param name="cblItems">CheckedListBox控件</param>
/// <returns>返回逗号分隔的值列表</returns>
public static string GetCheckedItems(CheckedListBox cblItems)
{
string resultList = "";
for (int i = 0; i < cblItems.CheckedItems.Count; i++)
{
if (cblItems.GetItemChecked(i))
{
resultList += string.Format("{0},", cblItems.GetItemText(cblItems.Items[i]));
}
}
return resultList.Trim(',');
}

}

El código anterior se divide en dos partes, una es operar el grupo de control GroupBox y la segunda es operar el control CheckedListBox.

De esta manera, es más conveniente al momento de marcar casillas de verificación. Por ejemplo, adopto el primer método de grupo de control GroupBox y la interfaz para verificar según el contenido es la siguiente.

Guía práctica de desarrollo de aplicaciones WinForm: consejos para la asignación de controles de casillas de verificación

Aplique la función de clase auxiliar anterior. Si usa el esquema GroupBox, puede simplemente arrastrar algunos controles CheckBox y no es necesario darle un nombre significativo, porque no importa si es Zhang San o Li Si, siempre y cuando ya que no hay ningún problema con que su padre sea GroupBox.

Este artículo es una reproducción de: Blog Garden - Wu Huacong

Supongo que te gusta

Origin blog.csdn.net/AABBbaby/article/details/132555675
Recomendado
Clasificación