如何将按钮添加到以前手动创建的表单中?

时间:2017-04-17 22:22:20

标签: c#

我要做的是:通过点击创建一个新表单(DONE and working,参见下面的代码),然后在该新表单中添加一些按钮。在这种情况下,它只是一个按钮,因为我需要在添加更多按钮之前完成这项工作。应该很简单,但在遵循一些Stackoverflow答案/ YouTube教程/互联网教程后,我仍然无法做到这一点。 实际上,[应用程序]它应该像个人日程表,我可以跟踪每个活动或工作,分散几天(从星期一到星期五),每天你应该找到一天中的不同时间(早晨/中午/晚上)。

我的代码如下所示(此代码属于第一种形式的button1_Click方法,您可能会注意到。)

 private void button1_Click(object sender, EventArgs e)
    {

        // día lunes
        Form SubLunes = new Form(); // new form
        SubLunes.Text = "Día lunes";
        SubLunes.Size = new Size(800, 400);
        SubLunes.StartPosition = FormStartPosition.CenterScreen;
        SubLunes.FormBorderStyle = FormBorderStyle.FixedSingle;
        SubLunes.ShowIcon = false;
        SubLunes.CreateControl();
        SubLunes.ShowDialog();

        // botones
        Button Mañana = new Button(); // new button
        Mañana.Location = new System.Drawing.Point(100, 150);
        Mañana.Size = new Size(100, 100);
        Mañana.Text = "Mañana";
        Mañana.Click += new EventHandler(Mañana_Click);
        SubLunes.Controls.Add(Mañana); // should add button to SubLunes
}
    private void Mañana_Click(object sender, EventArgs e)
    {
        MessageBox.Show("hello, i'm new button"); // displayed when clicking new button
    }

目前的情况如下:

Main form /////// After clicking Lunes button (a new Button called 'Mañana' should be in there)

提前感谢你。见到你。

1 个答案:

答案 0 :(得分:0)

您在创建按钮之前显示表单:

Form SubLunes = new Form();
        SubLunes.Text = "Día lunes";
        SubLunes.Size = new Size(800, 400);
        SubLunes.StartPosition = FormStartPosition.CenterScreen;
        SubLunes.FormBorderStyle = FormBorderStyle.FixedSingle;
        SubLunes.ShowIcon = false;
        SubLunes.CreateControl();
        SubLunes.ShowDialog();

        Button Mañana = new Button();
        Mañana.Location = new System.Drawing.Point(100, 150);
        Mañana.Size = new Size(100, 100);
        Mañana.Text = "Mañana";
        Mañana.Click += new EventHandler(Mañana_Click);
        SubLunes.Controls.Add(Mañana);

您应该在显示表单之前创建按钮,如下所示:

 Form SubLunes = new Form();
        SubLunes.Text = "Día lunes";
        SubLunes.Size = new Size(800, 400);
        SubLunes.StartPosition = FormStartPosition.CenterScreen;
        SubLunes.FormBorderStyle = FormBorderStyle.FixedSingle;
        SubLunes.ShowIcon = false;
        SubLunes.CreateControl();

 Button Mañana = new Button(); // new button
        Mañana.Location = new System.Drawing.Point(100, 150);
        Mañana.Size = new Size(100, 100);
        Mañana.Text = "Mañana";
        Mañana.Click += new EventHandler(Mañana_Click);
        SubLunes.Controls.Add(Mañana);

        SubLunes.ShowDialog();