问题描述
问题大概是这样的:我有两个Form,暂且叫FormA和FormB吧。FormA上有一个Textbox和一个button,按了button之后就会以dialogwindow的方式叫出FormB。FormB有一个Datagridview,一打开的时候我已经拿了数据表填入资料了,就等User选一行资料。好了,问题来了:当User选了一行数据后,我希望可以做到下列的动作:1.关闭FormB(当然记住了User的选择)2.将User的选择(例如选择的那一行的其中一个cell里的值)填入FormA里的Textbox试了好多方法都做不到,望各位指教指教。谢谢我对Programming不太认识,希望不要说得太深呀……呵呵,当然以后可能还有问题。比如说FormA里Textbox配button的组合不止一个,希望FormB关闭了之后可以知道是那个button打开它的,从而将选择填入相对应的Textbox。呵呵,这是后话了
解决方案
解决方案二:
把formA的textbox传到formB来就可以修改了!!或者利用事件委托来实现也可以因为委托是与类平行的只要在同一个项目里就可以把委托写在FormB来实现你要传值得!
解决方案三:
还有就是都用inherit做一个baseform,两个都用inherit过来.basefrm里面的variable设置成global格式.就可以了.
解决方案四:
在A中增加一个public属性publicStringTextProperty{set{TextBox1.Text=value;}get{returnTextBox1.Text;}}B的显示B.Show(this);关闭B的时候调用TextProperty="XXXXX";就可以了。
解决方案五:
提示:public修饰符
解决方案六:
可以写一个类,包含需要向textBox赋值的字段,把这个类的一个实例作为FormB的构造函数的一个参数。利用引用类型的原理,再FormB中修改的数据是能够再FormA中看到的。classValueTrans{privatestring_name;publicstringName{get{return_name;}set{_name=value;}}}A中:ValueTransvalueTrans=newValueTrans();FormBfrmB=newFormB(valueTrans);frmB.Show();this.txtName.Text=valueTrans.Name;B中:valueTrans.Name="...";
FYI.