【问题标题】:Form controls not showing表单控件不显示
【发布时间】:2015-08-31 09:19:40
【问题描述】:

我正在制作一个显示表单的控制台应用程序。我从头开始创建表单。当我运行程序时,表单显示,但我添加的控件不显示。

我的代码:

using System;
using System.Windows.Forms;
using System.Drawing;

namespace form
{
    public class main
    {
        public static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new FrmLogin());
        }
    }

    public class FrmLogin : Form
    {
        public void Frm()
        {
            this.Size = new Size(400, 600);
            Button btn = new Button();
            btn.Text = "Something";
            btn.Size = new Size(10, 10);
            btn.Location = new Point(10, 10);
            btn.UseVisualStyleBackColor = true;
            this.Controls.Add(btn);
        }
    }
}

【问题讨论】:

  • “显示表单的控制台应用程序”是 Windows 窗体应用程序,而不是控制台应用程序。
  • @JohnSaunders,您实际上可以构建一个使用表单作为控制台项目的项目。出于调试目的,我有时会这样做。
  • @JohnSaunders,实际上只是在项目属性中将项目的输出类型设置为“控制台应用程序”。唯一明显的区别是,当您运行控制台窗口时,它会在后台显示,并且如果您从命令行运行它,它在退出应用程序之前不会返回。我不知道 OP 是否这样做了,或者如果这样做,出于什么目的。只是说可以做到,而且相当容易——甚至可能是偶然的。

标签: c# forms winforms user-interface user-controls


【解决方案1】:

打开一个新的 windows 窗体应用程序并观察来自 form.designer.cs 和 program.cs 的源代码你会发现你错在哪里了。

【讨论】:

    【解决方案2】:

    你永远不会调用你的FrmLogin.Frm 方法。如果您打算将其用作构造函数,请删除 void 并将其重命名为 FrmLogin,如下所示:

    public FrmLogin()
    {
        this.Size = new Size(400, 600);
        Button btn = new Button();
        btn.Text = "Something";
        btn.Size = new Size(10, 10);
        btn.Location = new Point(10, 10);
        btn.UseVisualStyleBackColor = true;
        this.Controls.Add(btn);
    }
    

    如果您想从构造函数中调用它,请添加一个名为 FrmLogin 的构造函数并让它调用 Frm,如下所示:

    public FrmLogin()
    {
        Frm();
    }
    

    【讨论】:

      猜你喜欢
      • 2019-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 2013-06-16
      • 2016-08-25
      • 1970-01-01
      相关资源
      最近更新 更多