【问题标题】:C# Passing ComboBox to a function of separate classC#将ComboBox传递给单独类的函数
【发布时间】:2021-10-23 14:10:42
【问题描述】:
我必须一次又一次地以不同的形式在桌面应用程序中列出公司。这就是为什么我想创建一个通用函数类来以不同的形式列出ComboBox 中的公司。我正在尝试将 ComboBox 对象传递给函数。但我无法这样做。
以下是我正在尝试的代码。
CommonFunctions cmFunc = new CommonFunctions();
ComboBox cmbx = cmbCompany;
cmFunc.listCompanies(ComboBox cmbx);
cmbCompany 是公司将列出的ComboBox。
非常感谢任何建议或帮助。
【问题讨论】:
标签:
c#
combobox
pass-by-reference
【解决方案1】:
如果我理解正确,您想使用Delegate 填写不同表单的组合框。
下面的代码工作并使用delegate 在Windows Form 上填充ComboBox。 comboBox1 是此表单上的 ComboBox。
public partial class Form1 : Form
{
delegate void FilComboDelegate(ComboBox comboBox);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
FilComboDelegate fillComboHandler;
fillComboHandler = FillCombo;
fillComboHandler(comboBox1);
}
private static void FillCombo(ComboBox comboBox)
{
string [] companies = {"Company 1", "Company 2", "Company 3"};
comboBox.Items.Clear();
foreach(var company in companies)
comboBox.Items.Add(company);
}
}