zoukankan      html  css  js  c++  java
  • C# 用户控件与窗体之间传值

    用户自定义控件

    View Code
     public partial class GirdViewUserControl : DevExpress.XtraEditors.XtraUserControl
        {
    
            public event EventHandler MyKeyDown;
            public event EventHandler MyDoubleClick;
            public GirdViewUserControl()
            {
                InitializeComponent();
                MyGridView.AttributeConfig(this.gridControl1, this.gridView1);
                this.gridView1.KeyDown += gridView1_KeyDown;
                this.gridView1.DoubleClick += gridView1_DoubleClick;
            }
    
            void gridView1_DoubleClick(object sender, EventArgs e)
            {
                if (MyDoubleClick != null)
                {
                    DataRow row = this.gridView1.GetFocusedDataRow();
                    if (row != null)
                    {
                        MyDoubleClick(row, e);
                    }
                    else
                    {
                        MyDoubleClick(null, e);
                    }
                }
            }
    
         
    
            void gridView1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    if (MyKeyDown != null)
                    {
                        DataRow row = this.gridView1.GetFocusedDataRow();
                        if (row != null)
                        {
                            MyKeyDown(row, e);
                        }
                        else
                        {
                            MyKeyDown(null, e);
                        }
                    }
                }
            }
    
          
    
            /// <summary>
            /// 返回GridControl对象
            /// </summary>
            public GridControl MMCGridControl { get { return this.gridControl1; } }
    
            /// <summary>
            /// 返回用户选择行索引 int[]
            /// </summary>
            public int[] GetSelectIndex { get { return this.gridView1.GetSelectedRows(); } }
    
    
            /// <summary>
            /// 返回用户选择所有行,List
            /// </summary>
            /// <returns>DataRow</returns>
            public List<DataRow> GetDataRow() {
                List<DataRow> List = new List<DataRow>();
                foreach (int arr in GetSelectIndex)
                {
                    List.Add(this.gridView1.GetDataRow(arr));
                }
                return List;
            }
        }

    窗体

    View Code
     readonly GridControl gconList = null;
    
     gconList = this.girdViewUserControl1.MMCGridControl;
    
    
                this.girdViewUserControl1.MyKeyDown += girdViewUserControl1_OnKeyDown;
                this.girdViewUserControl1.MyDoubleClick += new EventHandler(girdViewUserControl1_MyDoubleClick);
    
        void girdViewUserControl1_OnKeyDown(object sender, EventArgs e)
            {
                if(sender!=null)
                {
                    DataRow dr = sender as DataRow;
                    if(dr!=null)
                    {
                        XtraMessageBox.Show(dr["jobtitle"].ToString(), "显示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
    
            void girdViewUserControl1_MyDoubleClick(object sender, EventArgs e)
            {
                if (sender != null)
                {
                    DataRow dr = sender as DataRow;
                    if (dr != null)
                    {
                        XtraMessageBox.Show(dr[1].ToString(), "显示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                } 
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                List<DataRow> list = this.girdViewUserControl1.GetDataRow();
                System.Text.StringBuilder strbui = new System.Text.StringBuilder();
                foreach (DataRow dr in list)
                {
                    strbui.AppendFormat(",{0}", dr[2]);
                }
                XtraMessageBox.Show(strbui.ToString().Substring(1), "显示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
  • 相关阅读:
    三分法
    牛客网 TaoTao要吃鸡 ( 0/1背包变形 )
    POJ 3275 Ranking the cows ( Floyd求解传递闭包 && Bitset优化 )
    Codeforces 912E Prime Gift ( 二分 && 折半枚举 && 双指针技巧)
    Codeforces 912D Fishs ( 贪心 && 概率期望 && 优先队列 )
    Codeforces 919D Substring ( 拓扑排序 && DAG上的DP )
    队列构造拓扑排序
    Codeforces 919E Congruence Equation ( 数论 && 费马小定理 )
    Codeforces 916B Jamie and Binary Sequence ( 模拟 && 思维 )
    POJ 1769 Minimizing maximizer ( 线段树 && DP )
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/2671114.html
Copyright © 2011-2022 走看看