< 示例一:提供NavigatorButtonClickEventArgs得到完整的NavigatorButtonBase按钮基类>
DataNavigator是一个进度条控件
ShowEvent(NavigatorButton);
发现:
1)public NavigatorButtonClickEventArgs(NavigatorButtonBase button);
2)public NavigatorButtonBase Button { get; }//说明是属性
3)public bool Handled { get; set; }//也是属性
通过解释我们可以发现
给1)一个按钮可以得到他的NavigatorButtonClickEventArgs
2、3)一个NavigatorButtonClickEventArgs可以得到他的属性2)返回按钮,3)返回事件是否解决
一些供学习的元数据://NavigatorButton的Click事件// 摘要:// Provides data for the DevExpress.XtraEditors.NavigatorBase.ButtonClick event.public class NavigatorButtonClickEventArgs : EventArgs{//// 摘要:// Initializes a new instance of the DevExpress.XtraEditors.NavigatorButtonClickEventArgs// class.//// 参数:// button:// A DevExpress.XtraEditors.NavigatorButtonsBase descendant which represents the// button clicked. This value is assigned to the DevExpress.XtraEditors.NavigatorButtonClickEventArgs.Button// property.public NavigatorButtonClickEventArgs(NavigatorButtonBase button);//// 摘要:// Gets the clicked button.public NavigatorButtonBase Button { get; }//说明是属性//// 摘要:// Gets or sets whether you have handled this event and no default action is required.public bool Handled { get; set; }}
所以可以解决了showEvent为什么可以写进ButtonClick事件就是给点击事件e可以得到e的按钮
showEvent(NavigatorButtonBase)
//点击进度条事件改变treelist中显示的树private void dataNavigator1_ButtonClick(object sender,NavigatorButtonClickEventArgs e){ShowEvent(e.Button);}private void ShowEvent(NavigatorButtonBase button){NavigatorCustomButton btn = (NavigatorCustomButton)button;string type = btn.Tag.ToString();if (type == "首页"){pageIndex = 1;//pageIndex改变}if (type == "下一页"){pageIndex++;}if (type == "末页"){pageIndex = pageCount;}if (type == "上一页"){pageIndex--;}showPage(pageIndex);//其他方法,分页操作。}
<示例二:可以让主窗体的保存按钮同步子窗体按钮的点击事件>
同样给ItemClickEventArgs就能够得到点击的按钮和按钮的link
//// 摘要:// Provides data for the DevExpress.XtraBars.BarItem.ItemClick and DevExpress.XtraBars.BarManager.ItemClick// events.public class ItemClickEventArgs : EventArgs{//// 摘要:// Initializes a new DevExpress.XtraBars.ItemClickEventArgs class instance.// 参数:// item:// A DevExpress.XtraBars.BarItem class instance whose link was clicked.// link:// The clicked DevExpress.XtraBars.BarItemLink.public ItemClickEventArgs(BarItem item, BarItemLink link);//// 摘要:// Gets the DevExpress.XtraBars.BarItem whose link was clicked.public BarItem Item { get; }//// 摘要:// Gets the clicked DevExpress.XtraBars.BarItemLink.public BarItemLink Link { get; }}
//保存xml文件按钮private void barButtonItem5_ItemClick(object sender, ItemClickEventArgs e){btn_SaveClick(e.Item);}/// <summary>/// 提供一个公有的方法供拥有相同作用的按钮点击使用/// </summary>/// <param name="button">Bar栏的控件</param>public void btn_SaveClick(BarItem button){BarItem btn = (BarItem)button;this.treeList2.OptionsBehavior.Editable = false;SaveFileDialog s = SaveFile("Xml文件(*.xml)|*.xml");if (s.ShowDialog() == DialogResult.OK){string XmlString = "";XmlString += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";XmlString += testnode;XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档xmldoc.LoadXml(XmlString);string fileName = s.FileName;xmldoc.Save(fileName);XtraMessageBox.Show("保存成功");}else{ XtraMessageBox.Show("取消操作"); }}
