The following sample code creates a RadRibbonBar\RibbonTab\RadRibbonBarGroup\RadSplitButtonElement UI structure.
Clicking on the radSplitButtonElement1 button causes the click handler (radSplitButtonElement1_Click) to be called twice.
Tested in R3 2017. This is not how it worked in Q1 2013, where the handler was called once.
Is this a bug or an intended change in behavior?
using System;
using System.Diagnostics;
using Telerik.WinControls.UI;
namespace wf7
{
public partial class RadForm1 : RadForm
{
public RadForm1()
{
InitializeComponent();
RadMenuItem mni1 = new RadMenuItem("item1", 1);
this.radSplitButtonElement1.Items.Add(mni1);
this.radSplitButtonElement1.DefaultItem = mni1;
mni1.Click += radSplitButtonElement1_Click;
RadMenuItem mni2 = new RadMenuItem("item2", 2);
this.radSplitButtonElement1.Items.Add(mni2);
mni2.Click += radSplitButtonElement1_Click;
}
private void radSplitButtonElement1_Click(object sender, EventArgs e)
{
Debug.Print("invoked menu item");
}
}
partial class RadForm1
{
/// <
summary
>
/// Required designer variable.
/// </
summary
>
private System.ComponentModel.IContainer components = null;
/// <
summary
>
/// Clean up any resources being used.
/// </
summary
>
/// <
param
name
=
"disposing"
>true if managed resources should be disposed; otherwise, false.</
param
>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <
summary
>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </
summary
>
private void InitializeComponent()
{
this.radRibbonBar1 = new Telerik.WinControls.UI.RadRibbonBar();
this.ribbonTab1 = new Telerik.WinControls.UI.RibbonTab();
this.radRibbonFormBehavior1 = new Telerik.WinControls.UI.RadRibbonFormBehavior();
this.radRibbonBarGroup1 = new Telerik.WinControls.UI.RadRibbonBarGroup();
this.radSplitButtonElement1 = new Telerik.WinControls.UI.RadSplitButtonElement();
((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
this.SuspendLayout();
//
// radRibbonBar1
//
this.radRibbonBar1.CommandTabs.AddRange(new Telerik.WinControls.RadItem[] {
this.ribbonTab1});
//
//
//
this.radRibbonBar1.ExitButton.Text = "Exit";
this.radRibbonBar1.Location = new System.Drawing.Point(0, 0);
this.radRibbonBar1.Name = "radRibbonBar1";
//
//
//
this.radRibbonBar1.OptionsButton.Text = "Options";
this.radRibbonBar1.Size = new System.Drawing.Size(292, 162);
this.radRibbonBar1.TabIndex = 0;
this.radRibbonBar1.Text = "radRibbonBar1";
//
// ribbonTab1
//
this.ribbonTab1.IsSelected = true;
this.ribbonTab1.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.radRibbonBarGroup1});
this.ribbonTab1.Name = "ribbonTab1";
this.ribbonTab1.Text = "tab1";
this.ribbonTab1.UseMnemonic = false;
//
// radRibbonFormBehavior1
//
this.radRibbonFormBehavior1.Form = this;
//
// radRibbonBarGroup1
//
this.radRibbonBarGroup1.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.radSplitButtonElement1});
this.radRibbonBarGroup1.Name = "radRibbonBarGroup1";
this.radRibbonBarGroup1.Text = "radRibbonBarGroup1";
//
// radSplitButtonElement1
//
this.radSplitButtonElement1.ArrowButtonMinSize = new System.Drawing.Size(12, 12);
this.radSplitButtonElement1.DefaultItem = null;
this.radSplitButtonElement1.DropDownDirection = Telerik.WinControls.UI.RadDirection.Down;
this.radSplitButtonElement1.ExpandArrowButton = false;
this.radSplitButtonElement1.Name = "radSplitButtonElement1";
this.radSplitButtonElement1.Text = "radSplitButtonElement1";
this.radSplitButtonElement1.Click += new System.EventHandler(this.radSplitButtonElement1_Click);
//
// RadForm1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 270);
this.Controls.Add(this.radRibbonBar1);
this.FormBehavior = this.radRibbonFormBehavior1;
this.IconScaling = Telerik.WinControls.Enumerations.ImageScaling.None;
this.Name = "RadForm1";
//
//
//
this.RootElement.ApplyShapeToControl = true;
this.Text = "radRibbonBar1";
((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private RadRibbonBar radRibbonBar1;
private RadRibbonFormBehavior radRibbonFormBehavior1;
private RibbonTab ribbonTab1;
private RadRibbonBarGroup radRibbonBarGroup1;
private RadSplitButtonElement radSplitButtonElement1;
}
}
ddd