C# 无法将类型 'System.Windows.Forms.ListViewItem' 转换为类'my app.Users'



我有一个C#Winforms程序访问SQL Server并从中查询数据。我有两个主要类:Users,其中包含可以登录应用程序的用户的数据类型,而Products再次包含可以查询的产品的数据类型。另外,我有一个可以访问SQL Server的方法。我制作了一个函数,以查询用户将SQL数据库形成一个列表,该列表比我加载到ListView lsv_MangageUsers中。我能够创建添加新用户和删除方法,但是当我开始创建修改用户方法时,我会遇到问题。Visual Studio说:

"不能将类型'System.Windows.Forms.listViewItem'转换为"我的app.users'class"。

我尝试将所选项目的价值铸造在Users类中进行修改方法并加载到新表单控件中,以允许用户对其进行修改。如果我以错误的顺序使用方法和功能,我的道歉我仍然是C#的新手。任何帮助将不胜感激。

运行修改用户方法的按钮代码:

private void btn_ModifyUser_Click(object sender, EventArgs e)
{
    if (lsv_ManageUsers.FocusedItem.Index != -1)
    {
        UserNew userwindow = new UserNew((Users)lsv_ManageUsers.SelectedItems[0]);
        if (userwindow.ShowDialog() == DialogResult.OK)
        {
            LsvUsersRefresh();
            toolStripStatusLabel1.Text = "User successfully modified!";
        }
    }
}

lsv_ManageUsers.SelectedItems[0]引用的项目是listViewItem,它不是您的Users项目之一,您不能仅仅因为它们完全不同,因此不能仅对另一个项目进行施放。

如果您希望世界以这种方式工作,那么每个ListViewItem都有一个Tag属性,您可以自由地用于任何感觉。在将ListViewItem添加到列表中时,建议将Users项目添加到此属性中,然后您可以在单击处理程序中将其删除。

最新更新