将 ListBox.SelectedObjectCollection 转换为 ListBox.ObjectCollection?

发布于 2024-09-30 09:10:23 字数 93 浏览 3 评论 0原文

是否可以将 ListBox.SelectedObjectCollection 转换为 C# 中的 ListBox.ObjectCollection?如果是这样,我该怎么办?

Is it possible to cast a ListBox.SelectedObjectCollection to a ListBox.ObjectCollection in C#? If so, how would I go about it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

书信已泛黄 2024-10-07 09:10:23

我有一个接受 List 的函数。

我可以通过投射来传递 SelectedItems 和 Items。

试试这个:

SelectedItems.Cast<string>().ToList()
Items.Cast<string>().ToList()

可以替换为其他对象类型。

I have a function that accepts List<string>.

I can pass both SelectedItems and Items by casting them.

Try this:

SelectedItems.Cast<string>().ToList()
Items.Cast<string>().ToList()

<string> could be replaced with some other object type.

孤独患者 2024-10-07 09:10:23

这是不可能的。

相反,您应该使用 IList
这两种类型都实现了 IList,因此您可以将任一类型作为 IList 传递,而无需任何显式转换。

如果您确实愿意,可以创建一个新的 ListBox.ObjectCollection 并添加 SelectedObjectCollection 中的项目。

This is not possible.

Instead, you should use an IList.
Both of these types implement IList, so you can pass either one as an IList without any explicit casting.

If you really wanted to, you could create a new ListBox.ObjectCollection and add the items from the SelectedObjectCollection.

说不完的你爱 2024-10-07 09:10:23

这是我的答案:它对我有用。

System.Windows.Forms.ListBox.SelectedObjectCollection lst  =this.lstImage.SelectedItems;
List<string> selectedItems = new List<string>();

foreach (object obj in lst)
{
    selectedItems.Add(obj.ToString());
}

Here is my answer: it is working for me.

System.Windows.Forms.ListBox.SelectedObjectCollection lst  =this.lstImage.SelectedItems;
List<string> selectedItems = new List<string>();

foreach (object obj in lst)
{
    selectedItems.Add(obj.ToString());
}
凉栀 2024-10-07 09:10:23
  List<YourDataType> YourDataTypeList = new List<YourDataType>();
  for (int i = 0; i < lbVectors.SelectedItems.Count; i++)
   {
        YourDataType v = lbVectors.SelectedItems[i] as YourDataType;
        YourDataTypeList .Add(v);
    }  
  List<YourDataType> YourDataTypeList = new List<YourDataType>();
  for (int i = 0; i < lbVectors.SelectedItems.Count; i++)
   {
        YourDataType v = lbVectors.SelectedItems[i] as YourDataType;
        YourDataTypeList .Add(v);
    }  
且行且努力 2024-10-07 09:10:23

这是我的答案,我用来将选中的列表框转换为列表框

CheckedListBox.CheckedItemCollection s= checkedListBox1.CheckedItems;

        List<object> ns = new List<object>();

        foreach (object ob in s)
        {
            ns.Add(ob);
        }

        listBox1.Items.AddRange(ns.ToArray());

This is my answer I used to convert Checked list box to list box

CheckedListBox.CheckedItemCollection s= checkedListBox1.CheckedItems;

        List<object> ns = new List<object>();

        foreach (object ob in s)
        {
            ns.Add(ob);
        }

        listBox1.Items.AddRange(ns.ToArray());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文