2015-06-15 10 views
0

Я создаю консольное приложение, которое показывает форму. Я создал форму с нуля. Когда я запускаю программу, отображается форма, но элементы управления, которые я добавил, не отображаются.Элементы управления формы не отображаются

Мой код:

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); 
     } 
    } 
} 
+0

«Консольное приложение, отображающее форму», является приложением Windows Forms, а не консольным приложением. –

+1

@JohnSaunders, вы можете фактически создать проект, который использует формы в качестве проекта консоли. Я делал это иногда для целей отладки. – adv12

+0

@JohnSaunders, это действительно вопрос установки типа вывода проекта в «Консольное приложение» в свойствах проекта. Единственные заметные отличия в том, что окно консоли отображается в фоновом режиме при его запуске и что если вы запустите его из командной строки, оно не вернется, пока приложение не будет завершено. Я не знаю, сделал ли это ОП, или если да, с какой целью. Просто сказать, что это можно сделать, и довольно легко - возможно, даже при аварии. – adv12

ответ

4

Вы никогда вызова метода 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(); 
} 
0

открыть новые окна формы приложения и наблюдать исходные коды из form.designer.cs и Program.cs вы увидите, где вы ошиблись.

 Смежные вопросы

  • Нет связанных вопросов^_^