Получив пользовательский ввод для параметров, затем нарисуйте форму C # - PullRequest
0 голосов
/ 24 октября 2019

Рис формы

Я пытаюсь получить ввод от пользователя для установки координат x, y для функции DrawEllipse, когда я жестко кодирую значения в нее, она рисуеткруг на экране очень хорошо, однако, когда я пытаюсь передать int, полученное из пользовательского ввода, он не работает.

Я пытаюсь создать программу, которая отвечает на команды пользователей, например, пользователь может ввестив "рисовать форму ху". Строка разделяется при обнаружении пробела, строка разбивается на массив.

public partial class Form1 : Form
{
    String input;
    Bitmap drawOutput;

    String command, command2, command3;
    int x, y;

    public Form1()
    {
        InitializeComponent();

        drawOutput = new Bitmap(OutputBox.Size.Width, OutputBox.Size.Height);
        OutputBox.Image = drawOutput;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Graphics g;
        g = Graphics.FromImage(drawOutput);

        Pen mypen = new Pen(Color.Black);
        g.Clear(Color.White);
        g.Dispose();
    }

    private void CMDBox_TextChanged(object sender, EventArgs e)
    {
        input = CMDBox.Text;
    }

    private void ExecuteBtn_Click(object sender, EventArgs e)
    {
        String[] spilt = input.Split(' ');
        foreach (String words in spilt)
        {
            command = spilt[0];
            command2 = spilt[1];
            command3 = spilt[2];

            x = Int32.Parse(command2);
            y = Int32.Parse(command3);



            Graphics g;
            g = Graphics.FromImage(drawOutput);
            Pen pen = new Pen(Color.Black, 5);

            if (input == command)
            {
                g.DrawEllipse(pen, 0, 0, x, y);

                OutputBox.Image = drawOutput;

                g.Dispose();

            }
        }

    }
}

Кто-нибудь может помочь?

...