Winfrom传值

来源:互联网 发布:java写一个简单的接口 编辑:程序博客网 时间:2024/04/30 07:47
Winfrom窗体直接传值   1父窗体传值给子窗体(1)定义类,需要传值的字段在父窗体中赋值,在show子窗体时     //MessageBox.Show("登Ì?陆?成¨¦功|");            FrmYieldTransitEdit fm = new FrmYieldTransitEdit();            User.LoginName = useName;            User.UserID = Convert.ToInt32(User_ID);            this.Hide();            fm.Show();子窗体中取值通过对象.属性2 字窗体传值给父窗体(1)通过tag对象,在子窗体去掉值存放在tag对象里,通过找到父窗体控件给控件赋值FromSelectAllYieldRole se = new FromSelectAllYieldRole();//子Á¨®窗ä¡ã体¬?            se.Owner = this;//子Á¨®窗ä¡ã体¬?的Ì?拥®¦Ì有®D者?父?窗ä¡ã体¬?            se.ShowDialog();//1把ã?父?窗ä¡ã体¬?有®D些?数ºy据Y清?空?                                FrmYieldTransitEdit fy = (FrmYieldTransitEdit)this.Owner;//                SetValue(fy);                SetCmboxItem(fy);        //给?父?窗ä¡ã体¬?设¦¨¨置?值¦Ì        public void SetValue(FrmYieldTransitEdit fy)         {               this.Tag = GetDate();                //注Á¡é意°a 如¨?果?textBox1是º?放¤?在¨²panel1中D的Ì? 则¨°先¨¨找¨°panel1 再¨´找¨°textBox1                if (this.Tag != null)                {                                        ((TextBox)fy.Controls["panshow1"].Controls["txtSellUnitName"]).Text = ((Hashtable)this.Tag)["ShortName"].ToString();        }}        //给?父?窗ä¡ã体¬?的Ì?任¨?务?mcb重?新?添¬¨ª加¨®项?,        public void SetCmboxItem(FrmYieldTransitEdit fy)         {            string NO = string.Empty;//任¨?务?编À¨¤号?            string PouringPlace = string.Empty;//浇?注Á¡é部?位?            string MarkName = string.Empty;//产¨²品¡¤标À¨º号?            string ConcreateNum = string.Empty;//混¨¬凝y土ª¨¢数ºy量¢?            string MortarNum = string.Empty;//砂¦¡ã浆?数ºy量¢?            string sqlDisplayMember = string.Empty;            ComboBox cm=((ComboBox)fy.Controls["panshow1"].Controls["cmbYieldRoleNO"]);            DataTable dt = (DataTable )cm.DataSource;//找¨°到Ì?数ºy据Y源¡ä新?加¨®数ºy据Y再¨´中D新?绑㨮定¡§            //dt.Columns.Add("ID");            //dt.Columns.Add("Name");            if (Tag != null)            {                NO = ((Hashtable)this.Tag)["NO"].ToString();//任¨?务?编À¨¤号?                PouringPlace = ((Hashtable)this.Tag)["PouringPlace"].ToString();//浇?注Á¡é部?位?                MarkName = ((Hashtable)this.Tag)["YieldProductMark"].ToString();//产¨²品¡¤标À¨º示º?                ConcreateNum = ((Hashtable)this.Tag)["ConcreateNum"].ToString();//混¨¬凝y土ª¨¢数ºy量¢?                MortarNum = ((Hashtable)this.Tag)["MortarNum"].ToString();//砼ª?标À¨º号?砂¦¡ã浆?数ºy量¢?                sqlDisplayMember = NO + " " + "|" + " " + PouringPlace + " " + "|" + " " + MarkName + " " + "|" + " " + ConcreateNum + " " + "|" + " " + MortarNum;                if (dt != null && dt.Rows.Count > 0)                {                        string id = ((Hashtable)this.Tag)["ID"].ToString();//获?取¨?我¨°选?中D的Ì?数ºy据Yid                        DataRow[] dr = dt.Select("ID='"+id+"' ");//在¨²页°3面?的Ì?dt找¨°到Ì?我¨°选?中D的Ì?那?个?对?应®|id,ê?就¨ª表À¨ª示º?数ºy据Y已°?经-存ä?在¨²                        if (dr != null && dr.Length > 0)                        {                                         DialogResult result = MessageBox.Show("您¨²所¨´选?中D的Ì?数ºy据Y已°?经-存ä?在¨²,ê?请?重?新?选?择?数ºy据Y!ê?", "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);                            if (result == DialogResult.OK)                            {                                this.Show();                            }                             cm.DataSource = dt;                        }                        else {                            dt.Rows.Add(((Hashtable)this.Tag)["ID"].ToString(), sqlDisplayMember);                             cm.DataSource = dt;                            cm.SelectedValue = ((Hashtable)this.Tag)["ID"].ToString();                            this.Close();                        }                }            }             }        //获?取¨?子Á¨®dgv行D数ºy据Y        public Hashtable GetDate()         {            Hashtable ht = new Hashtable();            if (dgvShowAll.CurrentRow.Cells["ID"].Value!=null)            {                ht.Add("ID", this.dgvShowAll.CurrentRow.Cells["ID"].Value.ToString());            }            if (dgvShowAll.CurrentRow.Cells["NO"].Value != null)            {                ht.Add("NO", this.dgvShowAll.CurrentRow.Cells["NO"].Value.ToString());            }            }            return ht;        }

0 0
原创粉丝点击