private void ShowDefaultBalloonTip(object sender, MouseEventArgs e) { if (string.IsNullOrEmpty(DefaultTipText) || string.IsNullOrEmpty(DefaultTipTitle)) { return; } lock (this) { if (HaveRegisteredClickHandlers()) { return; } if (_showingDefaultBalloonTip) { return; } _showingDefaultBalloonTip = true; } ShowBalloonTipFor(DefaultBalloonTipTimeout, DefaultTipTitle, DefaultTipText, ToolTipIcon.Info, DefaultBalloonTipClickedAction, () => { _showingDefaultBalloonTip = false; _balloonTipClickHandlers = null; var closedAction = DefaultBalloonTipClosedAction; closedAction?.Invoke(); }); }
public void ShowBalloonTipFor(int timeoutInMilliseconds, string title, string text, ToolTipIcon icon, Action clickAction = null, Action closeAction = null) { lock (this) { _balloonTipClickHandlers = new BalloonTipClickHandlerRegistration(clickAction, closeAction); } NotifyIcon.ShowBalloonTip(timeoutInMilliseconds, title, text, icon); }
public void Construct_ShouldCopyParametersToProperties() { //---------------Set up test pack------------------- var clickActionCalled = false; var closeActionCalled = false; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var sut = new BalloonTipClickHandlerRegistration(() => clickActionCalled = true, () => closeActionCalled = true); sut.ClickAction(); sut.ClosedAction(); //---------------Test Result ----------------------- Assert.IsTrue(clickActionCalled); Assert.IsTrue(closeActionCalled); }
private void ShowDefaultBalloonTip(object sender, MouseEventArgs e) { if (string.IsNullOrEmpty(DefaultTipText) || string.IsNullOrEmpty(DefaultTipTitle)) return; lock (this) { if (HaveRegisteredClickHandlers()) return; if (_showingDefaultBalloonTip) return; _showingDefaultBalloonTip = true; } ShowBalloonTipFor(DefaultBalloonTipTimeout, DefaultTipTitle, DefaultTipText, ToolTipIcon.Info, DefaultBalloonTipClickedAction, () => { _showingDefaultBalloonTip = false; _balloonTipClickHandlers = null; var closedAction = DefaultBalloonTipClosedAction; closedAction?.Invoke(); }); }