找不到类型或命名空间名称“列表项”

时间:2009-05-29 09:11:14

标签: c#

我正在制作一个代码来上下移动列表框的元素。为此,我制作了两个按钮来向上移动元素(向上移动按钮)和向下移动(向下移动按钮)。这是我的代码:

if (m_lbOPFfiles.SelectedIndex != m_lbOPFfiles.Items.Count && m_lbOPFfiles.SelectedIndex != -1)
        {
            ListItem item = m_lbOPFfiles.SelectedItem;
            int index = m_lbOPFfiles.SelectedIndex;
            m_lbOPFfiles.Items.RemoveAt(index);
            lstResdetails.Items.Insert(index + 1, item);
         }

现在我收到了ListItem的命名空间错误。谁能帮我纠正呢?

5 个答案:

答案 0 :(得分:4)

嗯,您还没有说过您正在编写什么类型的应用程序--Windows Forms? ASP.NET? WPF?假设它是ASP.NET,您需要:

using System.Web.UI.WebControls;

位于代码顶部。如果它是WPF你可能想要:

using System.Windows.Documents;

编辑:如果是Windows窗体,那么就没有ListItem类。 ListBox.SelectedItem返回object,而不是ListItemListItem类型的哪个方面要与ListBox一起使用? (我假设您使用的是ListBox。)您可以将项目添加到ListBox.Items,就像对象一样。

答案 1 :(得分:1)

我怀疑你在.cs文件的顶部错过了相应的使用 -directive,这将是使用System.Web.UI.WebControls; 。您可能也错过了正确的程序集(虽然我对此表示怀疑),并且应该在项目中添加对System.Web程序集的引用。

答案 2 :(得分:1)

如果您使用的是Visual Studio,则只需将光标移动到标识符上,即可显示智能标记。按Ctrl +打开它。或者单击它并选择是否要添加using指令或使用完全限定名称。

另一方面,如果您使用的是Visual Studio,Intellisense会以自己的方式告诉您标识符当前不可用:)

答案 3 :(得分:0)

在Windows窗体中,如果使用ListBox.Items.Add(Object)添加对象,其中Object是您创建的对象,则ListBox将由对象的名称填充,而不是由文本填充。除非您添加ListBox.Items.Add(Object.Text),否则您将获得ListBox中的文本,但您将丢失对象中的其余信息。我们想要的是一种模拟ListItem类在ASP中实现的方法。

答案 4 :(得分:0)

您正在使用Windows窗体,这就是您无法访问控件名称空间中的ListItem类的原因,请执行以下操作: - 添加“PresentationFrameWork”(.NET参考)作为您的解决方案的参考 - 将using System.Windows.Controls;添加到您的班级文件