【问题标题】:Dynamically generating checkbox on picturebox in c#在c#中动态生成图片框上的复选框
【发布时间】:2017-04-21 18:56:25
【问题描述】:

我被困在 C# 中创建复选框。我想在单击按钮时动态生成动态生成的图片框上的复选框。我的 c# 代码没有像我预期的那样工作。以下代码在我的表单上生成复选框,但不在图片框上。

请给我一些建议,以便我的复选框链接到图片框

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;
}

【问题讨论】:

  • PictureBox 可以包含子控件。使用YourPictureBox.Controls.Add(chk); 并根据您的要求对齐复选框。

标签: c# .net checkbox picturebox


【解决方案1】:

试试这个代码:

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();
}

【讨论】:

    【解决方案2】:

    您通过以下方式将复选框添加到表单中:

    this.Controls.Add(chk);
    

    这会为您的复选框分配适当的父级。要将任何控件添加到可以包含子控件的任何其他控件,您必须执行相同的操作。比如:

    将复选框添加到面板:

    panel.Controls.Add(chk);
    

    在 PictureBox 中添加复选框:

    pictureBox.Controls.Add(chk);
    

    等等。

    【讨论】:

    • 我试过了。但是智能感知控件没有与图片框一起显示。无法将控件添加到图片框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多