Так что я пытаюсь управлять потоками с ключевыми событиями, мне удалось заставить их начать, нажав клавишу E и R (два потока), но я не могу их остановить, обновив ключи, событие keyup не работает по какой-то причине ... (после запуска, остановки я не хотел бы, чтобы перезапустить их при необходимости ... так что нет таймера ...)Начать тему с keydown и остановить ее, выпустив ее (keyup)?
C# WINDOWS код приложения: (метод я использую)
private void Yawspeed_KeyDown(object sender, KeyEventArgs e)
{
Thread yawspeedRightThread = new Thread(new ThreadStart(YawspeedRightThread));
Thread yawspeedLeftThread = new Thread(new ThreadStart(YawspeedLeftThread));
if (e.KeyCode == Keys.E)
{
yawspeedRightThread.Start();
}
if (e.KeyCode == Keys.R)
{
yawspeedLeftThread.Start();
}
}
((метод было бы чем-то вроде этого ?:
private void Yawspeed_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.E)
{
yawspeedRightThread.Abort();
}
if (e.KeyCode == Keys.R)
{
yawspeedLeftThread.Abort();
}
}
(окончание ...)
private void Yawspeed_Load(object sender, EventArgs e)
{
}
#region Thread Functions
/// <summary>
/// This thread will move your cursor
/// </summary>
public static void YawspeedRightThread()
{
while (true)
... (Остальной код, нить сама, функции ...)
Не могли бы вы дать более четкое описание того, что вы намереваетесь сделать? Кажется несколько необычным ... – Kris
Вы уже задали этот вопрос. Похоже, вы удалили предыдущий, также уничтожили комментарии, добавленные пользователями SO. Это не полезно никому, пожалуйста, не делайте этого. –
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keyup%28v=vs.110%29.aspx Событие Control.KeyUp «Происходит при отпускании ключа во время управления имеет фокус ». У него все еще есть фокус? –