1
我有這樣的監聽器監聽器丟失
public class LeapEventListener : Listener
{
public string frame = string.Empty;
public string Frame { get { return frame; } }
public event EventHandler FrameChanged;
private void SetFrame(string value)
{
if (value == null) value = string.Empty;
if (frame == value) return;
frame = value;
var handler = FrameChanged;
if (handler != null) handler(this, EventArgs.Empty);
}
public override void OnFrame (Controller controller)
{
Frame frame = controller.Frame();
FingerList fingers = frame.Fingers;
SetFrame("Frame id: " + frame.Id);
}
public override void OnInit (Controller controller)
{
Console.WriteLine ("Initialized");
}
public override void OnConnect (Controller controller)
{
Console.WriteLine ("Connected");
//If using gestures, enable them:
controller.EnableGesture (Gesture.GestureType.TYPE_CIRCLE);
}
//Not dispatched when running in debugger
public override void OnDisconnect (Controller controller)
{
Console.WriteLine ("Disconnected");
}
}
然後在我的Form1.cs的全球
Controller controller = new Controller();
LeapEventListener listener = new LeapEventListener();
,並在公共Form1中()
string fingers = listener.frame;
controller.AddListener(listener);
label1.DataBindings.Add("Text", listener, "Frame");
所有工作都很好,直到我離開窗戶的焦點。如果我離開焦點,標籤文字不再改變,那麼我回到窗口焦點,標籤文本開始隨着來自聽衆的信息而改變。
爲什麼聽衆不工作,當我沒有窗口焦點?