Member 13386837 Ответов: 2

Запишите координаты моей мыши в блокнот


В настоящее время я работаю над записью координат курсора мыши в блокнот. Но что происходит в моей программе, так это то, что последняя позиция моего курсора будет единственной записанной. То, что я хотел бы сделать, - это записать все его предыдущие координаты положения и настоящее.

Что я уже пробовал:

я использовал этот код
Point pos = PART_Cursor.GetPosition(PART_LoadedImageDisplay);
Point prev = PART_Cursor.GetPreviousPosition(PART_LoadedImageDisplay);
Draw(prev, pos, _pastCursorPosition);
_pastCursorPosition = prev;
            
textbox.Text = pos.X.ToString();
textbox2.Text = pos.Y.ToString();

using (System.IO.StreamWriter objWriter = new System.IO.StreamWriter("users.txt"))
{
    objWriter.WriteLine("X=" + textbox.Text + " " + "Y= " + textbox2.Text);
}

2 Ответов

Рейтинг:
20

Graeme_Grant

Вы каждый раз перезаписываете файл, так как не добавляете его.

ссылка: Как записать текст в файл | Microsoft Docs[^]

TL;DR, использовать:

using (System.IO.StreamWriter objWriter = new StreamWriter("users.txt", append: true))


Member 13386837

Большое спасибо. Это сработало.

Graeme_Grant

Добро пожаловать :)

Рейтинг:
10

OriginalGriff

Когда вы создаете StreamWriter с помощью параметров по умолчанию, он удаляет любой существующий файл и создает новый.
Вы можете изменить свой код, чтобы создать StreamWrite для Append, добавив true параметр к нему: Конструктор StreamWriter (String, Boolean) (System.IO)[^]
Но лучшим решением было бы использовать файл.AppendAllText: Файл.Метод AppendAllText (String, String) (System.IO)[^]

File.AppendAllText("users.txt", "X=" + textbox.Text + " " + "Y= " + textbox2.Text);


Member 13386837

Я также попробовал ваше предложение, и оно сработало. Большое спасибо

OriginalGriff

Пожалуйста!