예제 #1
0
        void OnStateChanged(object sender, ButtonStateChangedEventArgs e)
        {
            var button = (Button)sender;

            if (e.State == ButtonState.Active)
            {
                Button previous = null;
                foreach (var other in _buttons)
                {
                    if (other != button && other.IsActive)
                    {
                        other.IsActive = false;
                        previous       = other;
                    }
                }
                if (this.Changed != null)
                {
                    this.Changed(this, new RadioGroupEventArgs(button, previous));
                }
            }
            else if (!_suppress && (e.OldState == ButtonState.Active || e.OldState == ButtonState.ActiveOutside || e.OldState == ButtonState.ActivePressed))
            {
                foreach (var other in _buttons)
                {
                    if (other.IsActive)
                    {
                        return;
                    }
                }
                button.IsActive = false;
            }
        }
예제 #2
0
		void OnStateChanged (object sender, ButtonStateChangedEventArgs e) {
			var button = (Button)sender;
			if (e.State == ButtonState.Active) {
				Button previous = null;
				foreach (var other in _buttons) {
					if (other != button && other.IsActive) {
						other.IsActive = false;
						previous = other;
					}
				}
				if (this.Changed != null)
					this.Changed (this, new RadioGroupEventArgs (button, previous));
			} else if (!_suppress && (e.OldState == ButtonState.Active || e.OldState == ButtonState.ActiveOutside || e.OldState == ButtonState.ActivePressed)) {
				foreach (var other in _buttons)
					if (other.IsActive)
						return;
				button.IsActive = false;
			}
		}