将c#console app转换为c#windows form app

时间:2018-03-03 05:08:08

标签: c# .net winforms input console

我有一个简单的数字猜测控制台应用程序,我想把它并将其转移到Windows窗体应用程序。我将输出更改为窗体,我知道如何更改窗口的外观(颜色,高度,宽度等),但我不确定如何接收来自用户的输入。任何指导都会有所帮助。我是一个新手,所以请原谅我的无知。以下是控制台脚本代码

class Program
    {
        static void Main(string[] args)
        {

         ;

            string appName = "Number Guesser";
            string appVersion = "1.0.0";
            string developer = "Jeffrey 'Jay-Dot' Pernia ";

            //change the color of the words //

            Console.ForegroundColor = ConsoleColor.Yellow;


            Console.WriteLine("{0}: version {1} by {2}", appName, appVersion, developer);


            //change color back to normal //

            Console.ResetColor();
            Console.ForegroundColor = ConsoleColor.White;

            Console.WriteLine("What is your name ");
            string input = Console.ReadLine();
            Console.WriteLine("Hello {0} lets play a game.... ", input);
            while (true)
            {
                Random random = new Random();

                int actualNumber = random.Next(1, 11);
                int guess = 0;

                Console.WriteLine("Guess a number between 1 - 10 ....bet you cant get it right!!");

                Console.ResetColor();
                while (actualNumber != guess)
                {
                    string userGuess = Console.ReadLine();

                    if (!int.TryParse(userGuess, out guess))
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Put an actual number -_- ");

                        Console.ResetColor();

                        continue;
                    }

                    guess = Int32.Parse(userGuess);

                    if (guess != actualNumber)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Told you ...loser ! ");

                        Console.ResetColor();

                    }



                }
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("Wow you're good !");
                Console.ResetColor();

                Console.WriteLine("Play again [Y or N]");
                string answer = Console.ReadLine().ToUpper();

                if (answer == "Y")
                    continue;
                else if (answer == "N")
                    return;
                else
                    return;
            }
        }
    } 

Snipper of Window form 编辑我知道如何创建一个窗口,但基本上我希望能够接受用户输入并让他们按回车或返回并继续使用我的程序在同一个窗口中无需使用一个新的

1 个答案:

答案 0 :(得分:0)

您要做的第一件事就是创建Toolbox

档案>新>项目> Windows窗体应用程序

将打开主窗体设计器窗口,左侧将显示TextBox

从工具箱中将KeyDown拖放到刚创建的窗口并定位。

完成后,按下TextBox,右侧会看到属性窗口。

在内部属性窗口中,您将有5个图标(分类,字母,属性,事件,属性页)。按事件,它将显示所选元素的所有事件的列表。

查找private void TextBox1_KeyDown(object sender, KeyEventArgs e) { } 事件,然后双击它旁边的字段。它将自动在您的代码中创建事件,如下所示:

If user pressed enter

内部事件放入检查private void TextBox1_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return) { //Insert your logic here MessageBox.Show("Your result is: " + result.ToString()); } } 并在其中放置来自控制台应用程序的逻辑:

label

就是这样。

如果您想与用户沟通,可以从Toolbox拖放label.Text = "Hello user"并通过http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)

进行通信