我是c#的新手,这个项目只是为了学习。我试图创建一个程序,用户在命令行中输入一些信息,然后结果显示在窗体窗口中。我怎样才能做到这一点?
这是我失败的尝试:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Øving1
{
class Program
{
static int Length;
static int Width;
[STAThread]
static void Main(string[] args)
{
GUI test = new GUI();
Console.WriteLine("Dette Programet regner ut areal og omkrets av et rektangel, angi en lengde og brede(eks. 10 enter 10)");
Length = Convert.ToInt32(Console.ReadLine());
Width = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("AREAL: " + Area(Length, Width) + " OMKRETS: " + Circumference(Length, Width));
test.richTextBox1.Clear();
test.richTextBox1.AppendText("AREAL: " + Area(Length, Width) + " OMKRETS: " + Circumference(Length, Width));
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(test);
}
public static int Area(int Length, int Width)
{
return Length * Width;
}
public static int Circumference(int Length, int Width)
{
return (Length * 2) + (Width * 2);
}
答案 0 :(得分:1)
您通常无法将控制台和winforms应用程序混合在一起。这在技术上是可行的,但框架通常旨在将它们视为单独的应用程序类型:Show Console in Windows Application?
如果您的目标是在显示表单之前允许从命令行输入数据,请考虑使用命令行参数,这些参数在winforms应用程序中更容易支持:How do I pass command-line arguments to a WinForms application?
答案 1 :(得分:1)
不幸的是,我无法理解错误消息,但必须在创建窗口之前调用Application.SetCompatibleTextRenderingDefault(false);
(例如,在调用表单构造函数之前)。