Я использую MousePosition, чтобы попытаться определить, каким образом пользователь перемещает свою или ее мышь после запуска события MouseDown. Проблема в том, что я пытаюсь создать стартовую переменную с использованием типа данных Point, и я хочу, чтобы эта точка была заполнена данными один раз, но у меня она есть в MouseDown, поэтому я могу использовать аргументы мыши eX и eY, чтобы определить, где событие MouseDown было называется. Вот пример того, что им думать оПовторное создание точки
public void panel1_MouseDown(object sender, MouseEventArgs e)
{
Point start = new Point(e.X, e.Y);
}
public void panel1_MouseMove(object sender, MouseEventArgs e)
{
if(MousePosition.X > start.X)
{
Console.WriteLine("you have moved right");
}
}
так, как бы я только создать что начать переменную один раз, все еще имея это иметь доступ к аргументу электронной мыши. а также как мне получить доступ к переменной между panel1_MouseDown и panel1_MouseMove? Если вы видите лучшую альтернативу этому, это будет здорово! Спасибо всем за помощь!
Вы не можете иметь локальную переменную rea d другой функцией. В чем проблема с наличием члена класса (наряду с логическим, который определяет, находится ли мышь или нет)? Кроме того, поскольку 'Point' является типом значений (' struct'), вы не можете иметь его «uninitialized» (то есть его значение не может быть «null») – Jcl
Сделать 'start' частной переменной в ваш класс и потерять объявление типа («Точка») в методе MouseDown. – Eraph