有窗体form1和窗体form2,现在如何form2中的值传给form1的变量。求高手!!急!!

问题描述

有窗体form1和窗体form2,现在如何将form1的datatable做为数据源绑定到form2中的DataGridView中。并且当双击form2中的DataGridView中的某一行时将DataGridView中这一行中的第一列的值付给form1中的strNewcode变量,同时form1关闭。这个怎么实现?求详解!!这是我自己写的代码,但不能实现,求大虾们指点下。form1中的部分代码form2selectbill=newform2();selectbill.dgvBillInfor.DataSource=dtNew;selectbill.Visible=false;stringstrNewcode="";selectbill.Returnvalue=newSelectBill.retunvalue(Showvalue);selectbill.ShowDialog();form2中的部分代码publicdelegatevoidretunvalue(stringstrBillcode);publicretunvalueReturnvalue;privatevoiddgvBillInfor_CellDoubleClick(objectsender,DataGridViewCellEventArgse){if(e.ColumnIndex<0||e.RowIndex<0)return;DataGridViewRowdgvrBill=dgvBillInfor.CurrentRow;if(dgvrBill!=null){stringstrBillCode=dgvrBill.Cells["Cwcwewbcode"].Value.ToString();if(string.IsNullOrEmpty(strBillCode))return;Returnvalue(strBillCode);}}

解决方案

解决方案二:
把要传的值,直接设置成public属性,然后在form2中把直接取。不过form2中要有form1这个字段。如果不懂,先看看面向对象,类的概念,从面相过程的想法过来,这里会非常别扭。
解决方案三:
感觉问题不大,要不你吧那个ReturnValue的代理直接做成事件试试?
解决方案四:
Form1中Form2fm2=newForm2(this);Form2构造函数Form2fm=newForm2();publicForm1(Form_fm)//构造函数{InitializeComponent();fm=_fm;}privatevoidbutton1_Click(objectsender,EventArgse){fm.我的控件}

时间: 2024-11-01 22:41:49

有窗体form1和窗体form2,现在如何form2中的值传给form1的变量。求高手!!急!!的相关文章

设置C#子窗体在主窗体中居中显示

问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写 this.StartPosition = FormStartPosition.CenterParent; 其实这样写是不对的,正确的写法应该是 this.StartPosition = FormStartPosition.CenterScreen; 为什么是CenterScreen

WinForm子窗体访问父窗体控件的实现方法_C#教程

Form1主窗体: 复制代码 代码如下: public delegate void SetVisiableHandler();//定义委托类型 private void button1_Click(object sender,EventArgs e)//单击事件,打开子窗体{    Form2 frm = new Form2(new SetVisiableHandler(SetVisiable));    frm.Show();} private void SetVisiable(){    d

父窗体跟子窗体之间的数据同步

问题描述 如题,父窗体跟子窗体完全一样,然后在父窗体选中checkbox选项,要求在子窗体也能够同步显示checkbox被选中 解决方案 解决方案二:做个自定义事件即可,可以是公共的,父子都能访问的一个委托,勾选时触发这个时间,接受者就可以接收到了,这样父子可以互相影响解决方案三:引用楼主qq_16714021的回复: 如题,父窗体跟子窗体完全一样,然后在父窗体选中checkbox选项,要求在子窗体也能够同步显示checkbox被选中 子窗体选中了父窗体也要选中么?解决方案四:事件,如果是wpf

各位大拿!!!问个关于主窗体调用子窗体的问题!!

问题描述 现在有一个主窗体MainForm是容器窗体这个窗体一个菜单,是调用Form1窗体的名字叫ItemClick第一次调用Form1(newFomr1().show())的时候,让它全屏再点ItemClick,也就是还要调用一个新的Form1窗体,这个时候它是被调用了但是它的显示确实在最下层,也就是被之前调用的窗体给档住了怎么样让它在最顶层(不是最大化)高手请帮帮我啊! 解决方案 解决方案二:没人知道吗???解决方案三:google搜索singleton模式窗体.Active()解决方案四:

C#最简单的关闭子窗体更新父窗体的实现方法_C#教程

主窗体Form1关键代码: 将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体 复制代码 代码如下: private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; DialogResult result=f2.ShowDialog(); if (result == DialogResult.Cancel) { this.gridControl1.

C#设置子窗体在主窗体中居中显示解决方案_C#教程

问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写 复制代码 代码如下: this.StartPosition = FormStartPosition.CenterParent; 其实这样写是不对的,正确的写法应该是 复制代码 代码如下: this.StartPosition = FormStartPosition.CenterSc

WinForm窗体显示和窗体间传值总结

WinForm 2009-02-10 10:47:47 阅读50 评论0 字号:大中小 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击"关闭"按钮会隐藏窗

不同身份登入主窗体,主窗体的控件某些可用某些不可用

问题描述 我是新手,我想要实现的是,用不同的身份登入主窗体,主窗体的控件可用性改变比如说:以"用户"身份登入,主窗体的"会员管理"按钮的visible变为flase如果是以"管理员"身份登入,主窗体的"会员管理"按钮的isible就变为true我是新手,我想要代码,网上找了好久都找不到合适的.各位帮帮忙 解决方案 解决方案二:对不起很难帮到你了.你要的代码取决于你现有的代码.这东西也能到网上找合适的.我真服了你了.解决方案三:

模式窗体 控制 主窗体

问题描述 主窗体MainForm子窗体Form1在MainForm中有menuStrip1菜单栏ToolStripMenuItem1MainForm中的代码:ToolStripMenuItem1.Visible=false;Form1ss=NewForm1();ss.ShowDialog();Form1中的代码MainFroms=newMainFrom();s.ToolStripMenuItem1.Visible=true;//请问这里如何实现?如何在Form1中点击按钮让主窗体的ToolStr