如何将列表框项作为参数传递给c#中的方法?

时间:2016-01-19 13:39:17

标签: c# listbox

例如,我将这些值存储在列表框中。

int pid = (int)reader["pid"];
string FirstName = (string)reader["Fname"];
string LastName = (string)reader["Lname"];
string gender = (string)reader["gender"];
string address = (string)reader["address"];
string email = (string)reader["email"];
string item = string.Format("{0} - {1} - {2} -{3} - {4} - {5}" pid,FirstName, LastName,gender,address,email);
this.listBox1.Items.Add(item);

如何将这些项传递给另一个类方法? 谢谢

1 个答案:

答案 0 :(得分:0)

你可以这样传递:

public void YourMethod(ListBox.ObjectCollection items)

使用:

YourMethod(listBox1.Items);

UPD:我创建了一个带有空列表框和1个按钮的窗体。单击按钮可填充列表框。 Form1类:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();            
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            var itemGenerator = new ItemGenerator();
            itemGenerator.AddItems(listBox1);
        }
    }

ItemGenerator类:

public class ItemGenerator
    {
        private readonly string[] items = {"item1", "item2", "item3"};

        public void AddItems(ListBox listBox)
        {
            foreach (var item in items)
            {
                listBox.Items.Add(item);
            }
        }
    }

ItemGenerator的方法AddItems在参数中有ListBox。在Form1类中调用此方法,因此您可以直接给ListBox进行处理。