C# 在运行时向组合框的DataTable添加项时调用哪个事件处理程序?

C# 在运行时向组合框的DataTable添加项时调用哪个事件处理程序?,c#,winforms,combobox,C#,Winforms,Combobox,我在运行时通过单击按钮将项目添加到组合框的数据表中。 我已经在点击事件的按钮上设置了MaxDropDownItems=6 当我得到结果时,滚动条仅显示2项。 如何使用MaxDropDownItems在下拉列表中获取6个项目 预期:包含6项的下拉列表 代码: DataTable dt = new DataTable(); private DataTable GetDataTable() { DataColumn col = new DataColumn("tt", typeof(str

我在运行时通过单击按钮将项目添加到组合框的数据表中。
我已经在点击事件的
按钮上设置了
MaxDropDownItems=6

当我得到结果时,滚动条仅显示2项。
如何使用
MaxDropDownItems
在下拉列表中获取6个项目

预期:包含6项的下拉列表

代码:

DataTable dt = new DataTable();
private DataTable GetDataTable() 
{ 
    DataColumn col = new DataColumn("tt", typeof(string)); 
    dt.Columns.Add(col); 
    col = new DataColumn("nn", typeof(string));
    dt.Columns.Add(col);
    for (int j = 0; j < 2; j++)
    { 
        System.Data.DataRow row = dt.NewRow(); 
        row[0] = j + ""; 
        row[1] = j + ""; 
        dt.Rows.Add(row);
    }
    return dt; 
 }

你能分享更多信息吗?数据表中有什么?单击
按钮\u Click
事件中还有什么?问题标题似乎与问题本身完全不同。相关代码是什么?“自定义”组合框是什么意思?您是如何将DataTable和组合框关联起来的?在将数据表设置为组合框后,是否正在更新它?(我假设您已经检查了DataTable是否只包含两行)。发布与问题相关的代码示例始终是一个好主意。我使用DataTable创建了一个方法。在这个方法中,我使用for循环创建了一行新的值。在button click中,我有display and value member并将我的datatable方法分配给数据源,并设置maxdropdownitem=6此代码应在您第一次创建datatable时向您的组合框中添加两个项,然后在单击按钮时添加一个新项(如果
I!=0
,则为相同的两行)。更改此(和同级):
行[0]=i+“”
行[0]=i.ToString()(C#!=VB.Net)。您也不需要这样:
combobox.DataSource=dt:将行添加到数据表时,更新会自动传播。您可以共享更多信息吗?数据表中有什么?单击
按钮\u Click
事件中还有什么?问题标题似乎与问题本身完全不同。相关代码是什么?“自定义”组合框是什么意思?您是如何将DataTable和组合框关联起来的?在将数据表设置为组合框后,是否正在更新它?(我假设您已经检查了DataTable是否只包含两行)。发布与问题相关的代码示例始终是一个好主意。我使用DataTable创建了一个方法。在这个方法中,我使用for循环创建了一行新的值。在button click中,我有display and value member并将我的datatable方法分配给数据源,并设置maxdropdownitem=6此代码应在您第一次创建datatable时向您的组合框中添加两个项,然后在单击按钮时添加一个新项(如果
I!=0
,则为相同的两行)。更改此(和同级):
行[0]=i+“”
行[0]=i.ToString()(C#!=VB.Net)。您也不需要这样:
combobox.DataSource=dt:将行添加到数据表时,更新将自动传播。
if (i == 0) 
{
    combobox.DataSource = GetDataTable();
    combobox.MaxDropDownItems = 6; 
}
else 
{
    System.Data.DataRow row = dt.NewRow(); 
    row[0] = i + ""; 
    row[1] = i + "";
    dt.Rows.Add(row); 
    combobox.DataSource = dt; 
 } 

 i++;
 combobox.Refresh();