Как мне кодировать событие, которое вызывает метод - PullRequest
2 голосов
/ 22 января 2011

ОК,

У меня есть 5 методов

Move (), TurnRight (), TurnLeft (), Accelerate (), Decelerate ()

У меня 5 кнопокв моей форме окна называется:

Переместить, повернуть направо, повернуть налево, ускорить, замедлить

Как взять значения, введенные из текстовых полей, и сохранить их, чтобы при нажатии пользователем одной из этих кнопокон вызывает метод для выполнения вычислений, а затем отображает информацию.

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

Вот мой метод перемещения

public void move () {double radians = direction * Math.PI / 180;

        //change the x location by the x vector of the speed
        X_Coordinate += (int)(speed * Math.Cos(radians));

        //change the y location by the y vectior of the speed
        Y_Coordinate -= (int)(speed * Math.Sin(radians));


    }

Я создал кнопку в своей формеи назвал его btnMove

Что я должен кодировать внутри события, чтобы моя кнопка перемещения вызывала метод перемещения и отображала его для результата?

Ответы [ 3 ]

1 голос
/ 22 января 2011

Для каждого события нажатия кнопки (двойной щелчок по кнопке в конструкторе, чтобы открыть код для события нажатия) вызовите соответствующий метод.

Однако неясно, принимают ли значения методы Move () ... и т. Д. Значения.

Вы можете попробовать это

public void btnMove_Click(object sender, EventArgs e)
{
     Move();
}

public void Move()
{        
     string thetext = Convert.ToInt32(this.textbox1.Text);
     //Perform Calculations
}

аналогично для других кнопок

1 голос
/ 22 января 2011

Скажем, вы хотите вычислить информацию в двух текстовых полях и показать результат в третьем, вы должны это сделать.

private void Button1Click(object sender, EventArgs e)
{
    var x = int.Parse(textBox1.Text);
    var y = int.Parse(textBox2.Text);

    textBox3.Text = (x + y).ToString();
}

скажем, что вы должны передать значение методу перемещения, выcold, сделайте это, измените textBox3.Text = (x + y).ToString(); на move(x + y);, если ход принимает int как этот

public void move(int vaule)
{
   //do stuff with value
}
0 голосов
/ 22 января 2011

Я бы сохранил начальные значения текстовых полей вне метода при инициации класса. Затем в событии нажатия кнопки обновите значения, которые изменились. Э.Г.

int val1 = parseInt (textbox1.text);

int val2 = parseInt (textbox2.text);

приватная пустота Move ()

{

 val2 = parseInt(textbox2.text);

}

...