C#-在列表框中添加按钮

C#-在列表框中添加按钮,c#,.net,listbox,C#,.net,Listbox,我正在编写一个C#应用程序(WinForm),其中的列表框包含用户添加的内容。现在,我可以在列表框下有一个普通的按钮来删除项目,但我希望按钮就在内容旁边,因此位于列表框内 像这样: 内容1 | X 内容2 | X 内容5 | X 问题是我缺乏.NET方面的经验,所以我不知道在所有自动控制的情况下如何实现这一点。我在谷歌上搜索过,但没有找到有意义的结果 欢迎提供实现此目标的任何提示、线索或片段!:) 我不知道你为什么要这么做?我会在底部放置一个按钮,删除列表框中的所有选定项。除非您希望使用j

我正在编写一个C#应用程序(WinForm),其中的列表框包含用户添加的内容。现在,我可以在列表框下有一个普通的按钮来删除项目,但我希望按钮就在内容旁边,因此位于列表框内

像这样:

  • 内容1 | X
  • 内容2 | X
  • 内容5 | X
问题是我缺乏.NET方面的经验,所以我不知道在所有自动控制的情况下如何实现这一点。我在谷歌上搜索过,但没有找到有意义的结果


欢迎提供实现此目标的任何提示、线索或片段!:)

我不知道你为什么要这么做?我会在底部放置一个按钮,删除列表框中的所有选定项。除非您希望使用jquery并在列表框上放置onClick事件,该事件发送一个调用,以删除存储在数据库中的项目,或者从页面列表中删除该项目,否则这被视为执行此操作的常用方法。

假设它是WinForms应用程序

你需要一个自定义控件。我会到处看看供应商,好像有人知道一个专门做这件事的控件。

使用系统; 使用System.Collections.Generic; 使用System.Windows.Forms

命名空间Windows窗体应用程序11 { 公共部分类Form1:Form { 列表_items=新列表()

}

私有无效按钮1\u单击(对象发送者,事件参数e) { //单击了添加按钮。 //

button2.Enabled = true;
}

私有无效按钮2\u单击(对象发送者,事件参数e) { //已单击删除按钮。 //

if (listBox1.Items.Count == 0)
{
    button2.Enabled = false;
}

}

您可以使用ListView,而不是ListBox,ListView具有。

因此可以创建自定义控件,但对于我的应用程序来说,这并不值得这么麻烦

我所做的是创建一个DataGrid,使其类似于ListView,但有自己的flare。我这样做是因为DataGrid的单元格中已经内置了buttoncontrol

是的,我知道,有点“胡闹”,但它就像一个符咒一样有效


Shay Erlichmen的道具,他引导我在我的列表框之外思考。看到我在那里做了什么吗?;)

嗯,我不习惯,我倾向于选择更高级的选项。问题是一个按钮(或图标按钮)另一方面更美观,而且每次删除都会减少一次点击次数。我因为实际阅读问题而被否决了……:叹气:@Canavar WinForms.@Deviant downvoted?ListBox和ListView相距很远。也许他应该在报告模式下添加一个树控件,以获得良好的measureListView,而不使用带有完整r的标题ow select和not网格线的外观和行为与ListBox相同。添加按钮(或任何其他控件)更容易作为一个子项,最好是尝试创建一个自定义控件。您可以创建自己的控件,但这不是一项简单的任务。是的,数据网格在这方面非常有用,尽管它们比列表框复杂。您可以使它看起来像HTML或类似样式的表。@Alb问题是“因此在列表框中”.无论如何,listbox.datasource=list的这项技术要比清晰的多,所以答案还是值得的。
if (listBox1.Items.Count == 0)
{
    button2.Enabled = false;
}