【问题标题】:How to strikeout a text if item is checked in List?如果在列表中选中项目,如何删除文本?
【发布时间】:2019-08-29 08:18:26
【问题描述】:

如果您要使用这些功能制作 CheckedListBox:

  1. 一次只能检查一项。
  2. 如果选中,删除文本。(有点像待办事项列表)
  3. 如果可能,将检查器设为绿色?

对于这三件事我不知道如何编写代码。

我查看了一个确实没有正确答案的问题。 Strikeout in CheckBox in To-Do List C#.

我只能展示我到目前为止所做的......

private void PersonListBox_ItemCheck(object sender, ItemCheckEventArgs e)
{
    for (int i = 0; i < PersonListBox.CheckedItems.Count; i++)
    {
        if (PersonListBox.GetItemCheckState(i) == CheckState.Checked)
        {
            //Code to make item text strikout
        }
    }
}

【问题讨论】:

标签: c# strikethrough checklistbox


【解决方案1】:

如果该项目被选中,您可以使用 CSS 在文本中划一条线

text-decoration: line-through;

要只允许选择一个复选框,您可以对复选框进行分组,然后使用 javascript/jquery 一次只允许选择一个复选框,就像单选按钮一样工作。

您还可以使用 css 更改复选框的颜色,具体取决于您希望它的样式,但您可以根据自己的喜好进行调整。

【讨论】:

  • 感谢您的回答。我是编码新手。我只知道 C#,而且不多。对不起。
  • 啊,对了,我认为您无法完全在 c# 中完成您正在寻找的事情,您正在开发的是基于 Windows 还是基于 Web 的应用程序?
  • Windows 窗体应用程序?
  • 如果您使用类似以下内容的 if 语句:PersonListBox.CheckedItems.TextDecorations = TextDecorations.Strikethrough;这应该在检查时更改字体文本。至于唯一选择一个复选框项目,您不能使用单选按钮而不是复选框,因为它们具有仅选择一个的默认行为
  • 出现这两个错误... 1. 'CheckedListBox.CheckedItemCollection' 不包含'TextDecorations' 的定义并且没有可访问的扩展方法'TextDecorations'.... 2. 名称'TextDecorations ' 在当前上下文中不存在。
猜你喜欢
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
相关资源
最近更新 更多