< 示例一:提供NavigatorButtonClickEventArgs得到完整的NavigatorButtonBase按钮基类>
    DataNavigator是一个进度条控件
    image.png
    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)返回事件是否解决

    1. 一些供学习的元数据:
    2. //NavigatorButton的Click事件
    3. // 摘要:
    4. // Provides data for the DevExpress.XtraEditors.NavigatorBase.ButtonClick event.
    5. public class NavigatorButtonClickEventArgs : EventArgs
    6. {
    7. //
    8. // 摘要:
    9. // Initializes a new instance of the DevExpress.XtraEditors.NavigatorButtonClickEventArgs
    10. // class.
    11. //
    12. // 参数:
    13. // button:
    14. // A DevExpress.XtraEditors.NavigatorButtonsBase descendant which represents the
    15. // button clicked. This value is assigned to the DevExpress.XtraEditors.NavigatorButtonClickEventArgs.Button
    16. // property.
    17. public NavigatorButtonClickEventArgs(NavigatorButtonBase button);
    18. //
    19. // 摘要:
    20. // Gets the clicked button.
    21. public NavigatorButtonBase Button { get; }//说明是属性
    22. //
    23. // 摘要:
    24. // Gets or sets whether you have handled this event and no default action is required.
    25. public bool Handled { get; set; }
    26. }

    所以可以解决了showEvent为什么可以写进ButtonClick事件就是给点击事件e可以得到e的按钮
    showEvent(NavigatorButtonBase)

    1. //点击进度条事件改变treelist中显示的树
    2. private void dataNavigator1_ButtonClick(object sender,NavigatorButtonClickEventArgs e)
    3. {
    4. ShowEvent(e.Button);
    5. }
    6. private void ShowEvent(NavigatorButtonBase button)
    7. {
    8. NavigatorCustomButton btn = (NavigatorCustomButton)button;
    9. string type = btn.Tag.ToString();
    10. if (type == "首页")
    11. {
    12. pageIndex = 1;//pageIndex改变
    13. }
    14. if (type == "下一页")
    15. {
    16. pageIndex++;
    17. }
    18. if (type == "末页")
    19. {
    20. pageIndex = pageCount;
    21. }
    22. if (type == "上一页")
    23. {
    24. pageIndex--;
    25. }
    26. showPage(pageIndex);//其他方法,分页操作。
    27. }

    <示例二:可以让主窗体的保存按钮同步子窗体按钮的点击事件>
    同样给ItemClickEventArgs就能够得到点击的按钮和按钮的link

    1. //
    2. // 摘要:
    3. // Provides data for the DevExpress.XtraBars.BarItem.ItemClick and DevExpress.XtraBars.BarManager.ItemClick
    4. // events.
    5. public class ItemClickEventArgs : EventArgs
    6. {
    7. //
    8. // 摘要:
    9. // Initializes a new DevExpress.XtraBars.ItemClickEventArgs class instance.
    10. // 参数:
    11. // item:
    12. // A DevExpress.XtraBars.BarItem class instance whose link was clicked.
    13. // link:
    14. // The clicked DevExpress.XtraBars.BarItemLink.
    15. public ItemClickEventArgs(BarItem item, BarItemLink link);
    16. //
    17. // 摘要:
    18. // Gets the DevExpress.XtraBars.BarItem whose link was clicked.
    19. public BarItem Item { get; }
    20. //
    21. // 摘要:
    22. // Gets the clicked DevExpress.XtraBars.BarItemLink.
    23. public BarItemLink Link { get; }
    24. }
    1. //保存xml文件按钮
    2. private void barButtonItem5_ItemClick(object sender, ItemClickEventArgs e)
    3. {
    4. btn_SaveClick(e.Item);
    5. }
    6. /// <summary>
    7. /// 提供一个公有的方法供拥有相同作用的按钮点击使用
    8. /// </summary>
    9. /// <param name="button">Bar栏的控件</param>
    10. public void btn_SaveClick(BarItem button)
    11. {
    12. BarItem btn = (BarItem)button;
    13. this.treeList2.OptionsBehavior.Editable = false;
    14. SaveFileDialog s = SaveFile("Xml文件(*.xml)|*.xml");
    15. if (s.ShowDialog() == DialogResult.OK)
    16. {
    17. string XmlString = "";
    18. XmlString += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
    19. XmlString += testnode;
    20. XmlDocument xmldoc = new XmlDocument(); //创建空的XML文档
    21. xmldoc.LoadXml(XmlString);
    22. string fileName = s.FileName;
    23. xmldoc.Save(fileName);
    24. XtraMessageBox.Show("保存成功");
    25. }
    26. else
    27. { XtraMessageBox.Show("取消操作"); }
    28. }