/// <summary>
        /// Adds a baloon to the container so it can be displayed
        /// </summary>
        /// <param name="msg">The MSG.</param>
        /// <exception cref="System.InvalidOperationException">No TaskbarIcon owner set</exception>
        public void ShowBalloonMessage(IBalloonMessage msg)
        {
            if (_tbi == null)
                throw new InvalidOperationException("No TaskbarIcon owner set");

            var thread = new Thread(() => this.DisplayBalloon(msg));
            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
            thread.Join();
        }
        /// <summary>
        /// Adds a baloon to the container so it can be displayed
        /// </summary>
        /// <param name="msg">The MSG.</param>
        /// <exception cref="System.InvalidOperationException">No TaskbarIcon owner set</exception>
        public void ShowBalloonMessage(IBalloonMessage msg)
        {
            if (_tbi == null)
            {
                throw new InvalidOperationException("No TaskbarIcon owner set");
            }

            var thread = new Thread(() => this.DisplayBalloon(msg));

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
            thread.Join();
        }
        /// <summary>
        /// Internal method for balloon creation
        /// </summary>
        /// <param name="msg">The MSG.</param>
        private void DisplayBalloon(IBalloonMessage msg)
        {
            _tbi.Dispatcher.Invoke(() =>
            {
                if (_container == null)
                {
                    _container = new BalloonContainer();
                    _tbi.ShowCustomBalloon(_container, PopupAnimation.None, null);
                    _tbi.CustomBalloon.Closed += this.CustomBalloon_Closed;
                }

                _container.AddBalloon(msg);
            });
        }
        /// <summary>
        /// Internal method for balloon creation
        /// </summary>
        /// <param name="msg">The MSG.</param>
        private void DisplayBalloon(IBalloonMessage msg)
        {
            _tbi.Dispatcher.Invoke(() =>
            {
                if (_container == null)
                {
                    _container = new BalloonContainer();
                    _tbi.ShowCustomBalloon(_container, PopupAnimation.None, null);
                    _tbi.CustomBalloon.Closed += this.CustomBalloon_Closed;
                }

                _container.AddBalloon(msg);
            });
        }
        public void AddBalloon(IBalloonMessage balloon)
        {
            var lst = this.BalloonList;

            lst.Add(balloon);
        }
 public void AddBalloon(IBalloonMessage balloon)
 {
     var lst = this.BalloonList;
     lst.Add(balloon);
 }