如何创建一个按钮来创建另一个按钮并立即显示

Posted

技术标签:

【中文标题】如何创建一个按钮来创建另一个按钮并立即显示【英文标题】:how to create a button that creates another button and show up immediately 【发布时间】:2021-12-16 07:16:57 【问题描述】:

我想创建一个按钮来创建其他按钮,并且我希望它能够在屏幕上创建无限按钮 我试过了

Button button = new Button();
button.Location = new Point(100,100);
button.Text = "IT Woreked";
button.Size = new Size(26,26);
button.Visible = true;
Application.Restart();
this.Controls.Add(button);

我相信它确实添加了它,但它没有显示出来 那么如何将按钮添加到屏幕上

【问题讨论】:

Application.Restart(); ??? 【参考方案1】:

我认为这是因为您将所有新按钮都放在同一个位置。另外,删除Application.Restart() 部分。

Button button = new Button();
button.Location = new Point(100,100); //change this to random or something 
button.Text = "IT Woreked";
button.Size = new Size(26,26);
button.Visible = true;
Application.Restart();//don't restart the application everytime you click!
this.Controls.Add(button);

您还应该订阅新按钮的 OnClick 事件。您应该创建一个包含上述所有代码的本地函数并订阅新按钮。这样您就可以递归地添加按钮。假设原始按钮的名称是button1,则将其单击方法更改为:

private void button1_Click(object sender, EventArgs e)

    Random random = new Random(System.Environment.TickCount);//random location everytime
    Button button = new Button();
    button.Text = "IT Woreked";
    button.Size = new Size(26, 26);// the size might be a bit small. You might want to increase it.
    button.Location = new Point(random.Next(0, this.Size.Width - button.Width), random.Next(0, this.Size.Height - button.Height)); //change this to random or something 
    button.Visible = true;
    this.Controls.Add(button);
    button.Click += button1_Click;//when the new button is clicked, call this method.

【讨论】:

以上是关于如何创建一个按钮来创建另一个按钮并立即显示的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iCarousel 中的按钮创建到另一个视图的转场

如何创建一个 UIViewController 具有两个视图,根据单击的按钮显示一个或另一个

如何在另一个脚本中运行 Python 脚本并立即关闭自身

单击并拖动到另一个按钮

在 PHP 中创建动态 PayPal 立即购买按钮

为沙盒帐户创建立即购买按钮