c# linq listView - selecteditem to object



我需要像我可以使用listbox一样将listView.selectedIndexchanged事件的一些变量发送到外部对象。以下是我的listView代码。之后,我将上传外部对象代码和工作列表框代码。

private void listViewProducts_SelectedIndexChanged(object sender, EventArgs e)
{
    try
    {
        ProductList_Variables selected = (ProductList_Variables)listViewProducts.SelectedItems[0];
        textBoxProduct.Text = selected.Product;
        comboBoxCategory.SelectedItem = selected.Category;
        textBoxSize.Text = selected.Size.ToString();
        comboBoxMarket.SelectedItem = selected.Market;
        comboBoxContainer.SelectedItem = comboBoxContainer.Items.OfType<ProductList_Variables>().SingleOrDefault(x => x.Container == selected.Container);
        textBoxPrice1.Text = selected.Price.ToString();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
class ProductList_Variables
{
    public int Id { get; set; }
    public string Product { get; set; }
    public string Category { get; set; }
    public string Size { get; set; }
    public string Market { get; set; }
    public string ProductName { get { return Product + " - " + Category + " - Size: " + Size +", Market: "+ Market; } }
    public string Flavour { get; set; }
    public decimal Price { get; set; }
    public string Container { get; set; }
    public int IdContainer { get; set; }
}
    private void listBoxProducts_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            ProductList_Variables selected = (ProductList_Variables)listBoxProducts.SelectedItem;
            //textBoxProduct.Text = selected.Product;
            //comboBoxCategory.SelectedItem = selected.Category;
            //comboBoxMarket.SelectedItem = selected.Market;
            //comboBoxContainer.SelectedValue = selected.IdContainer;
            //textBoxPrice1.Text = selected.Price.ToString();
            textBoxProduct.Text = selected.Product;
            comboBoxCategory.SelectedItem = selected.Category;
            textBoxSize.Text = selected.Size.ToString();
            comboBoxMarket.SelectedItem = selected.Market;
            comboBoxContainer.SelectedItem = comboBoxContainer.Items.OfType<ProductList_Variables>().SingleOrDefault(x => x.Container == selected.Container);
            textBoxPrice1.Text = selected.Price.ToString();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

如果要为SelectedIndexchanged事件发送其他变量,则可能必须考虑使用这些要求编写自己的事件。

您可以找到此用户的很好的解释。

最新更新