如何在 C# window 应用程序中以编程方式创建按钮?

How can I create a button programmatically in C# window app?

我知道拖放按钮很容易,但是讲师坚持以编程方式创建按钮。

在 Form1_Load 方法中,我应该编写什么代码来创建一个简单的按钮?

 private void Form1_Load(object sender, System.EventArgs e)
 {

 }

以便在加载时显示按钮?

正如你所说的是Winforms,你可以进行以下操作...

首先创建一个新的Button对象。

Button newButton = new Button();

然后使用以下方法将其添加到该函数内的表单中:

this.Controls.Add(newButton);

您可以设置的额外属性...

newButton.Text = "Created Button";
newButton.Location = new Point(70,70);
newButton.Size = new Size(50, 100);

你的问题 运行 是你试图在 Form_Load 事件上设置它,在那个阶段表单还不存在并且你的按钮被覆盖。您需要 ShownActivated 事件的委托才能显示按钮。

例如在你的 Form1 构造函数中,

public Form1()
{
    InitializeComponent();
    this.Shown += CreateButtonDelegate;
}

您的实际委托是您创建按钮并将其添加到表单的地方,像这样的东西会起作用。

private void CreateButtonDelegate(object sender, EventArgs e)
{
    Button newButton= new Button();
    this.Controls.Add(newButton);
    newButton.Text = "Created Button";
    newButton.Location = new Point(70,70);
    newButton.Size = new Size(50, 100);
    newButton.Location = new Point(20, 50);
}

很简单:

private void Form1_Load(object sender, System.EventArgs e)
 {
     Button btn1 = new Button();
     this.Controls.add(btn1);
     btn1.Top=100;
     btn1.Left=100;
     btn1.Text="My Button";

 }

在您的事件加载表单中输入此代码

 private void Form1_Load(object sender, EventArgs e)
    {
        Button testbutton = new Button();
        testbutton.Text = "button1";
        testbutton.Location = new Point(70, 70);
        testbutton.Size = new Size(100, 100);
        testbutton.Visible = true;
        testbutton.BringToFront();
        this.Controls.Add(testbutton);

    }