1. Open solution and double-click on Form1.vb 2. select any of the buttons up top in the RadCommandbar like the Back button and then double click on it so it adds an event to the code file. 3. It should have taken you to the even when added, so now delete the event method that was generated. 4. Click on the Form1.vb [Design] file and you should see the error.
CommandBarSplitButton and CommandBarDropDownButton should implement IItemsOwner interface.
Add a command bar button with the following configuration: DrawText = true; Text = "&New"; UseMnemonic = true; ShowKeyboardCues = true; and try to click it with Alt + N. You will see that you cannot.
Workaround: set the RadCommandBar.EnableRadAccessibilityObjects property to false.
The ItemClicked event of CommandBarStripElement does not fire when the strip is floating.
Workaround: this.commandBarSplitButton1.MinSize = new Size(this.commandBarSplitButton1.Size.Width + 10, 0);
Workaround: use the attached below theme files. How custom themes can be loaded - http://www.telerik.com/help/winforms/themes-using-custom-themes.html
To reproduce: 1. Add a RadCommandBar with a CommandBarButton. 2. Add a RadDateTimePicker, a RadMultiColumnComboBox, a ComboBox, a DateTimePicker. Subscribe to their Validating event. 3. Add a shortcut for the CommandbarButton: Me.CommandBarButton1.ShowKeyboardCues = True Me.CommandBarButton1.UseMnemonic = True Me.CommandBarButton1.Shortcuts.Add(New RadShortcut(Keys.Alt, Keys.F)) Note that when you focus one of the added controls in 2. and press Alt+F, the CommandBarButton.Click event is fired, but the Validating event for the previously focused control is not fired. This behavior is not observed for RadButton for example. Workaround: Public Class Form1 Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean Select Case keyData Case (Keys.Alt Or Keys.F) CommandBarButton1.Focus() CommandBarButton1.PerformClick() Exit Select End Select End Class
Workaround: public partial class RadForm1 : Telerik.WinControls.UI.RadForm { public RadForm1() { InitializeComponent(); this.commandBarDropDownButton2.DropDownMenu.DropDownOpening += DropDownMenu_DropDownOpening; } private void DropDownMenu_DropDownOpening(object sender, CancelEventArgs e) { if (this.WindowState == FormWindowState.Maximized) { RadDropDownMenu dMenu = sender as RadDropDownMenu; RadPopupOpeningEventArgs eventArgs = (RadPopupOpeningEventArgs)e; eventArgs.CustomLocation = new System.Drawing.Point(eventArgs.CustomLocation.X + this.commandBarDropDownButton2.Size.Width, eventArgs.CustomLocation.Y); } } }
Visual Studio's property window allow you to assign these properties the value of (none) or null. This will result in exception when the designer is reopened.
In some cases, when you type on a CommandBarTextBox, its Text property does not get updated.
To reproduce: add a RadCommandBar to the form with several CommandBarStripElements. Change the Name property for one of the CommandBarStripElements at design time. You will notice that the new name is not serialized in the designer file.
To reproduce: Add a RadCommandBar with a row and a strip. Add a CommandBarSplitButton and subscribe to its Click event. You will see that when you click the arrow button the event will be fired. In result you cannot distinguish whether the arrow button is clicked. Workaround: private bool arrowButtonClicked; void ArrowPart_Click(object sender, EventArgs e) { this.arrowButtonClicked = true; //... CommandBarSplitButton.ArrowPart logic } void button_Click(object sender, EventArgs e) { if (this.arrowButtonClicked) { this.arrowButtonClicked = false; return; } //...CommandBarSplitButton logic }
To reproduce: Add a RadCommandBar, add some rows, strips and buttons. Apply any of the following themes: Office2010Black, Office2010Blue or VisualStudio2012Light . You will notice that the whole RadCommandBar has no theming. Workaround: Download the theme files below and apply them as follows: ThemeResolutionService.LoadPackageFile(@"themPath/theme.tssp"); ThemeResolutionService.ApplicationThemeName = "VisualStudio2012Light";
FIX. CommandBarDropDownList - the control Text property does not return the entered text in the editable area
Since the IsChecked property is obsolete one cannot use simple data binding to bind the control.
DECLINED: RadCommandBar assigns the DesiredLocation of each strip on the first layout pass and keeps this value until a different one is explicitly specified (via drag or via setting the property). The difference in the initial DesiredSize of the strips (depending on whether they have the grip/overflow button collapsed) results in different initial DesiredLocation settings. The proper way to avoid the gaps is to explicitly set the DesiredLocation property of each strip when collapsing the grips and overflow buttons. To reproduce: 1.Add a RadCommandBar with several CommandBarStripElement. Each strip should contain a single button element. 2.Add a RadButton. 3.Use the following code snippet: private Dictionary<ElementVisibility, ElementVisibility> toggle; public Form1() { InitializeComponent(); toggle = new Dictionary<ElementVisibility, ElementVisibility>(); toggle[ElementVisibility.Collapsed] = ElementVisibility.Visible; toggle[ElementVisibility.Hidden] = ElementVisibility.Visible; toggle[ElementVisibility.Visible] = ElementVisibility.Collapsed; } private void ButtonClick() { foreach (var row in radCommandBar1.Rows) { foreach (var strip in row.Strips) { Toggle(strip); } } } private void radButton1_Click(object sender, EventArgs e) { ButtonClick(); } private void Toggle(Telerik.WinControls.UI.CommandBarStripElement strip) { Toggle(strip.Grip); Toggle(strip.OverflowButton); } private void Toggle(Telerik.WinControls.RadElement element) { element.Visibility = toggle[element.Visibility]; } If you collapse the Grip and the OverflowButton of a CommandBarStripElement, there is a gap between CommandBarStripElements. Workaround: call the ButtonClick method in the form constructor.
To reproduce: Add a row and a strip to the command bar, add items, set tooltips, make them hide in the overflow menu, they do not show their tooltips. Workaround: this.commandBar.Rows[0].Strips[0].OverflowButton.DropDownMenu.ToolTipTextNeeded += DropDownMenu_ToolTipTextNeeded; this.commandBar.Rows[0].Strips[0].OverflowButton.DropDownMenu.MouseMove += DropDownMenu_MouseMove; Point mousePosition = new Point(); void DropDownMenu_MouseMove(object sender, MouseEventArgs e) { this.mousePosition = e.Location; } void DropDownMenu_ToolTipTextNeeded(object sender, ToolTipTextNeededEventArgs e) { this.commandBar.Rows[0].Strips[0].OverflowButton.DropDownMenu.Owner = this; mousePosition.X += this.commandBar.Rows[0].Strips[0].Size.Width; mousePosition.Y += this.commandBar.Rows[0].Strips[0].Size.Height + 20; new ToolTip().Show("bbbb", this.commandBar, mousePosition, 1000); }
Workaround: use the following approach: private void commandBarDropDownList1_EnabledChanged(object sender, EventArgs e) { if (this.commandBarDropDownList1.Enabled) { this.commandBarDropDownList1.DropDownListElement.TextBox.BackColor = Color.White; } else { this.commandBarDropDownList1.DropDownListElement.TextBox.TextBoxItem.BackColor = Color.FromArgb(210, 210, 210); } }
When you change the ImageList property of RadCommandBar at runtime, the images of the items are not updated. In addition, if there are items in the overflow popup, their image is reset to default. WORKAROUND: You need to reset each item's ImageIndex property in order for the new image to appear and you also need to update the ImageList property of the overflow popups manually. private void radCheckBox1_ToggleStateChanged(object sender, StateChangedEventArgs args) { radCommandBar1.ImageList = radCheckBox1.Checked ? imageList32 : imageList16; ToggleImageIndices(); } private void ToggleImageIndices() { foreach (var row in radCommandBar1.Rows) { foreach (var strip in row.Strips) { ((RadControl)strip.OverflowButton.OverflowPanel.Layout.ElementTree.Control).ImageList = radCommandBar1.ImageList; foreach (var item in strip.Items) { int oldIndex = item.ImageIndex; item.ImageIndex = -1; item.ImageIndex = oldIndex; } foreach (var item in strip.OverflowButton.OverflowPanel.Layout.Children.OfType<RadCommandBarBaseItem>()) { int oldIndex = item.ImageIndex; item.ImageIndex = -1; item.ImageIndex = oldIndex; } } } }