C# 在messagebox c中显示所有listview项目#

C# 在messagebox c中显示所有listview项目#,c#,visual-studio-2010,C#,Visual Studio 2010,我有一个包含子项的列表视图。前5个子项是名称、项目、总价、地址和电话 其余子项包含我为订单显示的过去列表 这是一个比萨店计划,我希望它能够获得客户信息和订单 我可以得到信息,但不能得到订单的其余部分 我想知道如果这有意义的话,我如何显示我订单的其余部分 订单示例: Name: Claud Items: 3 Total: 10.99 Address: (Blank) Telephone: (Blank) Order: Small Pizza -Bacon BreadSt

我有一个包含子项的列表视图。前5个子项是名称、项目、总价、地址和电话

其余子项包含我为订单显示的过去列表

这是一个比萨店计划,我希望它能够获得客户信息和订单

我可以得到信息,但不能得到订单的其余部分

我想知道如果这有意义的话,我如何显示我订单的其余部分

订单示例:

Name: Claud
Items: 3
Total: 10.99
Address: (Blank)
Telephone: (Blank)
Order: Small Pizza
       -Bacon
       BreadSticks
现在,我的messagebox如下所示:

Name: Claud
Items: 3
Total: 10.99
Address: (Blank)
Telephone: (Blank)
Order: Small Pizza
所以我只想让它展示熏肉和面包条

源代码:

  private void CustomerInfo_Click(object sender, EventArgs e)
    {
        ListViewItem customers = new ListViewItem(fullName.Text);
        customers.SubItems.Add(totalcount.ToString());
        customers.SubItems.Add(total.ToString());
        customers.SubItems.Add(Address.Text);
        customers.SubItems.Add(telephone.Text);
        for (int i = 0; i < OrderlistBox.Items.Count; i++)
        {
            customers.SubItems.Add(OrderlistBox.Items[i].ToString());
        }
        Customers.Items.Add(customers);

        MessageBox.Show("Sent order for " + fullName.Text.ToString() + " to screen.");
        //CLEAR ALL FIELDS
        OrderlistBox.Items.Clear();
        fullName.Text = "";
        Address.Text = "";
        telephone.Text = "";
        totalDue.Text = "";
        totalItems.Text = "";
    }

    private void customerInformationToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (Customers.SelectedItems.Count != 0)
        {
            MessageBox.Show("Name: " + Customers.SelectedItems[0].SubItems[0].Text + "\n" +
                            "Adress: " + Customers.SelectedItems[0].SubItems[3].Text + "\n" +
                            "Telephone: " + Customers.SelectedItems[0].SubItems[4].Text + "\n" +
                            "Order: " +Customers.SelectedItems[0].SubItems[5].Text);
        }
    }
private void customer信息点击(对象发送者,事件参数e)
{
ListViewItem客户=新的ListViewItem(fullName.Text);
customers.SubItems.Add(totalcount.ToString());
customers.SubItems.Add(total.ToString());
customers.SubItems.Add(Address.Text);
客户。子项。添加(电话。文本);
对于(int i=0;i
您可以通过创建充当messagebox的新winform来创建自定义messagebox。 在其上创建公共属性以传递selecteditems的值,例如:

然后在你的表格上:

 private void customerInformationToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (Customers.SelectedItems.Count != 0)
        {
            var myformmessagedialog = new MyFormMessageDialog
            {

name = Customers.SelectedItems[0].SubItems[0].Text,
adress=Customers.SelectedItems[0].SubItems[3].Text,
telephone=Customers.SelectedItems[0].SubItems[4].Text
              };
              myformmessagedialog.ShowDialog();
        }
    }
您的MessageBoxDialogform:

MyFormMessageDialog : Form
{
  public MyFormMessageDialog()
    {
        InitializeComponent();
    }
    public string name;
    public string adress;
    public string telephone;

     private void MyFormMessageDialog_Load(object sender, EventArgs e)
    {

        lblName.Text = name;
        lbladdress.Text = adress;
        telephone.Text telephone;

       //if you are saving ado.net stuff 
       //query username where name = name then bind it on a list box or a combo box 
       var Orderdata = //you retrieve info via DataTable;
       lstOder.Items.Clear();
       foreach (DataRow data in Orderdata.Rows)
            {
                var lvi = new ListViewItem(data["Order"].ToString());
                // Add the list items to the ListView
                lstlstOder.Items.Add(lvi);
       }


    }
 }
希望这对你有帮助。
关于

您可以通过创建充当messagebox的新winform来创建自定义messagebox。 在其上创建公共属性以传递selecteditems的值,例如:

然后在你的表格上:

 private void customerInformationToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (Customers.SelectedItems.Count != 0)
        {
            var myformmessagedialog = new MyFormMessageDialog
            {

name = Customers.SelectedItems[0].SubItems[0].Text,
adress=Customers.SelectedItems[0].SubItems[3].Text,
telephone=Customers.SelectedItems[0].SubItems[4].Text
              };
              myformmessagedialog.ShowDialog();
        }
    }
您的MessageBoxDialogform:

MyFormMessageDialog : Form
{
  public MyFormMessageDialog()
    {
        InitializeComponent();
    }
    public string name;
    public string adress;
    public string telephone;

     private void MyFormMessageDialog_Load(object sender, EventArgs e)
    {

        lblName.Text = name;
        lbladdress.Text = adress;
        telephone.Text telephone;

       //if you are saving ado.net stuff 
       //query username where name = name then bind it on a list box or a combo box 
       var Orderdata = //you retrieve info via DataTable;
       lstOder.Items.Clear();
       foreach (DataRow data in Orderdata.Rows)
            {
                var lvi = new ListViewItem(data["Order"].ToString());
                // Add the list items to the ListView
                lstlstOder.Items.Add(lvi);
       }


    }
 }
希望这对你有帮助。
关于

使用ListView创建自定义消息框表单使用ListView创建自定义消息框表单谢谢。我睡着了,所以我刚从好消息中醒来:)谢谢。我睡着了,所以我刚从好消息中醒来:)