在c#中动态生成图片框上的复选框

时间:2017-04-21 09:55:26

标签: c# .net checkbox picturebox

我无法在C#中创建复选框。我想在按钮点击动态生成动态生成的图片框上的复选框。我的c#代码无法正常工作。下面的代码在我的表单上生成复选框,但不在图片框上。

请建议我一些想法,以便我的复选框链接到picturebox

Checkbox on picturebox

private void btndlt_Click(object sender, EventArgs e)
{
    add_chkbx();   
}

public CheckBox add_chkbx()
{
    CheckBox chk = new CheckBox();
    chk.Location = new System.Drawing.Point(15, 190);
    chk.Size = new System.Drawing.Size(30, 30);
    this.Controls.Add(chk);
    return chk;
}

2 个答案:

答案 0 :(得分:0)

您正在通过以下方式向表单添加复选框:

this.Controls.Add(chk);

这会为您的复选框指定正确的父级。要将任何控件添加到可以包含子控件的任何其他控件,您必须执行相同操作。例如:

向面板添加复选框:

panel.Controls.Add(chk);

向PictureBox添加复选框:

pictureBox.Controls.Add(chk);

等等。

答案 1 :(得分:0)

试试这段代码:

public void add_chkbx()
{
    // for each picture box add check box
    foreach (Control cont in this.Controls)
    {
        if (!(cont is PictureBox))
            continue;
        CheckBox chk = new CheckBox();
        chk.Size = new System.Drawing.Size(30, 30);
        chk.BackColor = Color.Transparent; // transparent color for checkbox
        cont.Controls.Add(chk);
    }
}

private void Button1Click(object sender, EventArgs e)
{
    add_chkbx();
}