To reproduce: - Create a dpi aware application and add a checkbox to it. - Change your DPI setting to 200% and start the application. - The checkmark is not scaled only the text is. Workaround: this.radCheckBox2.ButtonElement.CheckMarkPrimitive.CheckElement.UseFixedCheckSize = false; this.radCheckBox2.ButtonElement.CheckMarkPrimitive.CheckElement.MinSize = new Size(100, 100);
Workaround: public class MyRadToggleSwith : RadToggleSwitch { public override string ThemeClassName { get { return typeof(RadToggleSwitch).FullName; } } protected override void OnGotFocus(EventArgs e) { base.OnGotFocus(e); this.ToggleSwitchElement.Focus(); } } or simply put focus to the element when the control receives the focus: private void radToggleSwitch_GotFocus(object sender, EventArgs e) { this.radToggleSwitch1.ToggleSwitchElement.Focus(); }
When you customize a theme for RadSplitButton, you are not able to change the color of the action button element when it is pressed and the drop down is not opened. Workaround: this.radSplitButtonElement2.ActionButton.MouseDown+=ActionButton_MouseDown; this.radSplitButtonElement2.ActionButton.MouseUp+=ActionButton_MouseUp; private void ActionButton_MouseUp(object sender, MouseEventArgs e) { this.radSplitButtonElement2.ActionButton.ButtonFillElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local); this.radSplitButtonElement2.ActionButton.ButtonFillElement.ResetValue(LightVisualElement.GradientStyleProperty, ValueResetFlags.Local); } private void ActionButton_MouseDown(object sender, MouseEventArgs e) { this.radSplitButtonElement2.ActionButton.ButtonFillElement.BackColor = Color.Red; this.radSplitButtonElement2.ActionButton.ButtonFillElement.GradientStyle = GradientStyles.Solid; }
The same case is valid for RadToggleButton as well. To reproduce: use the following custom RadCheckBox. You will notice that the ToggleStateChanging, ToggleStateChanged, PropertyChanged, CheckStateChanging, CheckStateChanged won't fire anymore: public class MyCheckBoxElement : RadCheckBoxElement { protected override Type ThemeEffectiveType { get { return typeof(RadCheckBoxElement); } } } public class MyCheckBox : RadCheckBox { protected override RadButtonElement CreateButtonElement() { return new MyCheckBoxElement(); } public override string ThemeClassName { get { return typeof(RadCheckBox).FullName; } } } Workaround: public class MyCheckBoxElement : RadCheckBoxElement { protected override void OnKeyDown(KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { return; } base.OnKeyDown(e); } protected override Type ThemeEffectiveType { get { return typeof(RadCheckBoxElement); } } } public class MyCheckBox : RadCheckBox { protected override RadButtonElement CreateButtonElement() { MyCheckBoxElement checkBox = new MyCheckBoxElement(); checkBox.ToggleStateChanging += new StateChangingEventHandler(ButtonElement_ToggleStateChanging); checkBox.ToggleStateChanged += new StateChangedEventHandler(ButtonElement_ToggleStateChanged); checkBox.PropertyChanged += new PropertyChangedEventHandler(res_PropertyChanged); checkBox.CheckStateChanging += new CheckStateChangingEventHandler(res_CheckStateChanging); checkBox.CheckStateChanged += new EventHandler(res_CheckStateChanged); return checkBox; } private void res_CheckStateChanged(object sender, EventArgs e) { base.OnCheckStateChanged(e); } private void res_CheckStateChanging(object sender, CheckStateChangingEventArgs args) { base.OnCheckStateChanging(args); } private void res_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "IsChecked") { base.OnNotifyPropertyChanged("IsChecked"); } } private void ButtonElement_ToggleStateChanged(object sender, StateChangedEventArgs args) { base.OnToggleStateChanged(args); base.OnNotifyPropertyChanged("Checked"); base.OnNotifyPropertyChanged("CheckState"); base.OnNotifyPropertyChanged("ToggleState"); } private void ButtonElement_ToggleStateChanging(object sender, StateChangingEventArgs args) { base.OnToggleStateChanging(args); } public override string ThemeClassName { get { return typeof(RadCheckBox).FullName; } } }
To reproduce: - click a RadCheckBox with the right mouse button and you will notice the the state of the checkbox is changed. Workaround: public class LeftCheckBox : RadCheckBox { protected override void OnMouseUp(MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { base.OnMouseUp(e); } } public override string ThemeClassName { get { return typeof(RadCheckBox).FullName; } set { } } }
To reproduce: Add a RadRadioButton to a form. Add a Button which opens a OpenFileDialog. Open the dialog and position it on top of the RadRadioButton so when you double click on a file the mouse cursor to be exactly over the RadRadioButton. Double click a file and you will see that the RadRadioButton is checked. This behavior can be changed by changing the ClickMode of the RadioButtonElement but setting it has no effect.
You can't handle the KeyUp event for RadCheckBox if the key pressed is Enter
You can't handle the KeyDown event for RadRadioButton if the key pressed is Enter.
Pressing backspace key in ComboBox element added to a RadDropDownButton closes that popup box and doesn't allow you to do any modification
Sometimes after rapid clicking on RadSplitButton, its DropDown stops closing when the user clicks outside it.
1. Create new project and add 2 buttons 2. Disable the second button 3. On first button click, enable the second button 4. Set the second button to be AcceptButton 5. Run the project and click the first button
1. Create a new application and add RadButton. 2. Set AcceptButton property of the form to point to the button. 3. Run the application and try to hover the button.
FIX. RadSplitButton - mnemonics does not open the drop down until it was opened with click
FIX. RadSplitButton - TextChanged event is fired before the text is changed
RadSplitButton shows incorrect the vertical scroll bar (overlaps the buttons and the thumb) and shows only the first item, when only two items are added.
The following events does not fire: radMenuComboItem1.DropDownClosing += new RadPopupClosingEventHandler(radMenuComboItem1_DropDownClosing); radMenuComboItem1.DropDownClosed += new RadPopupClosedEventHandler(radMenuComboItem1_DropDownClosed); The ComboBoxItem has been replaced with a RadDropDownList. The following events are fired as expected: this.radSplitButton1.DropDownButtonElement.DropDownClosing += new RadPopupClosingEventHandler(DropDownButtonElement_DropDownClosing); this.radSplitButton1.DropDownButtonElement.DropDownClosed += new EventHandler(DropDownButtonElement_DropDownClosed);