я пытаюсь получить данные для отслеживания рук с помощью Leap motion и отобразить их в форме C #. Я смог сделать это одним нажатием кнопки.
Теперь я не хочу, чтобы данные нажимались на кнопку, а всякий раз, когда я запускаю код, они должны отображаться в графическом интерфейсе.
Итак, я переместил свой код из события click в метод, и я вызываю этот метод из констурктора по умолчанию.
Что я заметил, так это когда я записываю фиктивные значения в tetbox вручную, это работает ... но не иначе.
Вот мой код:
namespace HandTrackOldSDK
{
public partial class Form1 : Form
{
// Initialize the Controller object which connects to the Leap motion service
// and captures the hand tracking data
private Controller controller = new Controller();
System.Threading.SynchronizationContext uiContext;
public Form1()
{
uiContext = WindowsFormsSynchronizationContext.Current;
InitializeComponent();
getXYZVlaues();
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void getXYZVlaues()
{
//Get the most recent tracking data using the Frame object
Frame frame = controller.Frame();
for (int h = 0; h < frame.Hands.Count; h++)
{
Hand leapHand = frame.Hands[h];
Finger leapFinger = leapHand.Fingers[1];
Vector currentPosition = leapFinger.StabilizedTipPosition;
textBox1.Text = Convert.ToString(currentPosition.x);
textBox2.Text = Convert.ToString(currentPosition.y);
textBox3.Text = Convert.ToString(currentPosition.z);
}
}
}
}
Есть идеи, почему это происходит?