c#linq listView - selecteditem to object

时间:2017-06-06 21:00:47

标签: c# linq listview listbox

我需要将listView.SelectedindexChanged事件的一些变量发送到外部对象,就像我可以使用listBox一样。以下是我的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);
        }
    }

1 个答案:

答案 0 :(得分:0)

如果您想为SelectedIndexChanged事件发送其他变量,您可能需要考虑使用这些要求编写自己的事件。

您可以通过this user找到一个很好的解释。