Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式每次在c#中单击按钮时添加组合框的新实例_C#_Winforms_Combobox - Fatal编程技术网

如何以编程方式每次在c#中单击按钮时添加组合框的新实例

如何以编程方式每次在c#中单击按钮时添加组合框的新实例,c#,winforms,combobox,C#,Winforms,Combobox,我想创建一个c#windows窗体,如果单击“添加组合框”按钮,系统将在每次单击时创建一个“组合框”实例 每个实例的位置将加上彼此下方5px的经度 如果可能的话,请用一些固定值填充新实例。您可以在单击按钮时执行类似操作(注释在代码中): private void按钮1\u单击(对象发送者,事件参数e) { //创建新组合 ComboBox cbo=新ComboBox(); //用值填充它 cbo.项目。添加(“价值1”); cbo.项目。添加(“价值2”); //设置左位置 cbo左=10; /

我想创建一个c#windows窗体,如果单击“添加组合框”按钮,系统将在每次单击时创建一个“组合框”实例

每个实例的位置将加上彼此下方5px的经度


如果可能的话,请用一些固定值填充新实例。

您可以在单击按钮时执行类似操作(注释在代码中):

private void按钮1\u单击(对象发送者,事件参数e)
{
//创建新组合
ComboBox cbo=新ComboBox();
//用值填充它
cbo.项目。添加(“价值1”);
cbo.项目。添加(“价值2”);
//设置左位置
cbo左=10;
//设置默认顶部位置
int top=5;
//如果此表单包含超过0个组合框,则获取最后一个组合框顶部值并将其增加5。
if(this.Controls.OfType().Count()>0)
top=this.Controls.OfType().Last().top+5;
//将最大值设置为新组合
cbo.Top=Top;
//将其添加到窗体控件集合
this.Controls.Add(cbo);
}

您可以在单击按钮时执行类似操作(注释在代码中):

private void按钮1\u单击(对象发送者,事件参数e)
{
//创建新组合
ComboBox cbo=新ComboBox();
//用值填充它
cbo.项目。添加(“价值1”);
cbo.项目。添加(“价值2”);
//设置左位置
cbo左=10;
//设置默认顶部位置
int top=5;
//如果此表单包含超过0个组合框,则获取最后一个组合框顶部值并将其增加5。
if(this.Controls.OfType().Count()>0)
top=this.Controls.OfType().Last().top+5;
//将最大值设置为新组合
cbo.Top=Top;
//将其添加到窗体控件集合
this.Controls.Add(cbo);
}

虽然答案是正确的,但最好使用
FlowLayoutPanel
TableLayoutPanel
@RezaAghaei您是对的,但很难说OP真正需要什么。这个答案很好地证明了概念,但是OP可能必须根据他/她的需要调整这个答案,而答案是有效的,但是最好使用
FlowLayoutPanel
TableLayoutPanel
@RezaAghaei你是对的,但是很难说OP真正需要什么。这个答案很好地证明了概念,但OP可能需要根据自己的需要调整这个答案
private void button1_Click(object sender, EventArgs e)
{
    //create new combo
    ComboBox cbo = new ComboBox();
    //fill it with values
    cbo.Items.Add("value1");
    cbo.Items.Add("value2");

    //set left location
    cbo.Left = 10;
    //set default top location
    int top = 5;
    //if this form contains more then 0 combo boxes, get last combo box Top value and increase it with 5.
    if (this.Controls.OfType<ComboBox>().Count() > 0)
        top = this.Controls.OfType<ComboBox>().Last().Top + 5;
    //set top value to new combo
    cbo.Top = top;
    //add it to forms control collection
    this.Controls.Add(cbo);
}