Winform

a442907397 2016-12-29 04:59:44



暂存本地是窗体一的按钮,下面的文本框都是窗体二的,
如何点击暂存本地,可以存取那些文本框的数据
...全文
437 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
software_artisan 2017-01-04
  • 打赏
  • 举报
回复
看截图,这个窗体2应该是个MDI子窗体。这个用委托比较容易实现。简单地说,就是窗体2订阅窗体1的按钮事件,在事件方法里面保存数据就行了。
  • 打赏
  • 举报
回复
没错用委托很简单,一下是一个小例子,供题主参考: //主窗体 namespace GetForm2Text { public partial class Form1 : Form { public Form1() { InitializeComponent(); FormButton formButton = new FormButton(); formButton.Show(); this.panel1.Controls.Add(formButton); FormText formText = new FormText(); formText.Show(); this.panel2.Controls.Add(formText); //将文本窗体的获取内容的函数传递给按钮窗体,按钮窗体便可以通过该委托方法获取文本窗体的内容了。 formButton.setGetTextFunction(formText.getText); } } //用于传递参数的委托函数 public delegate string GetText(); } //按钮窗体 namespace GetForm2Text { public partial class FormButton : Form { public FormButton() { InitializeComponent(); this.TopLevel = false; } //定义一个委托函数的对象 GetText getText; private void button1_Click(object sender, EventArgs e) { //暂存本地按钮单击事件,调用委托对象,可获取另一窗体的文本内容 MessageBox.Show(getText()); } //实现设置委托函数到已建立的对象 public void setGetTextFunction(GetText getText) { this.getText = getText; } } } //文本窗体 namespace GetForm2Text { public partial class FormText : Form { public FormText() { InitializeComponent(); this.TopLevel = false; } //文本窗体实现委托规定的函数 public string getText() { return textBox1.Text; } } }
huangchao2011 2017-01-04
  • 打赏
  • 举报
回复
比较土的一个方法: 在你文本框存在的窗体里面定义一个共有的属性 public string MyProperty { get; set; },你有几个文本框需要存值,你就定义几个这样的属性,一一对应就好了!然后每一个文本框的change事件里面 ,对该文本框对应需要存放数据的那个属性赋值. 最后 在按钮的点击事件里面 new 一个有文本框的那个窗体, 然后这个new的实力对象,就可以直接点出来你想要的数据了,
杀马特丶蛮牛 2017-01-04
  • 打赏
  • 举报
回复
委托可以实现
夏天的枫 2016-12-30
  • 打赏
  • 举报
回复
这个又是两个窗口传值的问题嘛。。。 你想办法获取下面窗口对象就行了啊。。。
a442907397 2016-12-30
  • 打赏
  • 举报
回复
混QWER 2016-12-30
  • 打赏
  • 举报
回复
窗体传值问题。
xinbada1985 2016-12-30
  • 打赏
  • 举报
回复
楼上说的很全面,from2继承from1,这样from2就可以获取from1的所有东西,这样from1的按钮就能获取from2的所有文本属性。 如果是同级就用楼上说的用委托吧,也很简单
JimCarter 2016-12-30
  • 打赏
  • 举报
回复
1.如果form1与form2是父子关系的话比较简单,在form2里定义几个public的方法,用来获取form2中各个控件的值,然后在form1 里用new 出来的form2对象调用即可。 2.如果二者不是父子关系,是兄弟关系的话,稍微难一点,需要间接通过他们共同的father传递数据。可以通过定义一个委托或者事件来实现。
a442907397 2016-12-29
  • 打赏
  • 举报
回复
引用 2 楼 Seilboy 的回复:
你这两个form是什么关系啊? 按钮是在哪个form上面的?
那个暂存本地Excel就是按钮- -
a442907397 2016-12-29
  • 打赏
  • 举报
回复
引用 2 楼 Seilboy 的回复:
你这两个form是什么关系啊? 按钮是在哪个form上面的?
按钮在窗体一- -。文本框是窗体二
token不能为空 2016-12-29
  • 打赏
  • 举报
回复
你这两个form是什么关系啊? 按钮是在哪个form上面的?
a442907397 2016-12-29
  • 打赏
  • 举报
回复

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧