我试图在groupbox中动态添加一个按钮,但是这个按钮在groupbox工具后面,不能被看到或者不能被点击。我需要我的按钮在groupbox中被看到并且可以被点击。下面是我的代码:
namespace HarryPotter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
GroupBox grp = new GroupBox();
grp.Top = 600;
grp.Left = 0;
grp.Text = "Kontroller";
grp.Size = new Size(600, 400);
//grp.BackgroundImage = Properties.Resources.hogwartscastle;
//grp.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
grp.FlatStyle = FlatStyle.Flat;
this.Controls.Add(grp);
Button btn2 = new Button();
btn2.Size = new Size(40, 40);
btn2.Top = 580;
btn2.Left = 0;
btn2.Parent = grp;
btn2.BackgroundImage = Image.FromFile(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\DownArrow.png");
btn2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
grp.Controls.Add(btn2);
this.Controls.Add(btn2);
}
}
}
下面是截图:
1条答案
按热度按时间h22fl7wq1#
首先,
GroupBox
只有400像素高,但Button
的顶部位于y位置580。因此,按钮在那里,但它是不可见的。因此,要么使分组框更高,要么更改btn2.Top
。此外,您还需要使用以下代码为btn2
创建Click事件处理程序:btn2.Click += Btn2_Click
然后定义Btn2_Click
函数。Edit:正如Reza指出的,您还需要删除
this.Controls.Add(btn2);
行,因为这将从组框中删除按钮。