求教,怎么将TextBox中输入的数据保存起来,在同个窗体或其他窗体内调用或显示

weixin_40421724 2017-10-11 11:34:43


如图,设计一个最简单的窗体,设想的是在上面的文本框中输入数字,点击“保存”按钮,将数据保存,然后点击“显示”按钮,在下面的文本框中显示出和上面文本框相同的数字。

写的代码如下:
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e) //保存输入的数据
{
double num1 = Convert.ToDouble(textBox1.Text);
}

private void button2_Click(object sender, EventArgs e) //显示输出的数据
{
textBox2.Text = num1.ToString();
}

}
}

报错,在 textBox2.Text = num1.ToString();一句中会提示上下文中不存在名称“num1”。
除非在button2的事件中把两句话都写进去,写做
 private void button2_Click(object sender, EventArgs e)  //显示输出的数据
{
double num1 = Convert.ToDouble(textBox1.Text);
textBox2.Text = num1.ToString();
}

就能够实现点击“显示”按钮,出现数字了。
但是想知道怎样才能点击“保存”按钮后,直接将输入的数据进行保存,之后只需要调用即可了。因为要编程的程序涉及参数较多,且有多个界面,所以想请教一下怎么才能保存数据,然后调用显示。
...全文
524 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
IWani_Z 2017-10-13
  • 打赏
  • 举报
回复
/* namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //点击保存按钮之后,数据就会保存到TextBox2中,不用再点击输出按钮 private void button1_Click(object sender, EventArgs e) //保存输入的数据 { double num1 = Convert.ToDouble(textBox1.Text); TextBox2.Text = textBox1.Text; } // private void button2_Click(object sender, EventArgs e) //显示输出的数据 { //TextBox2.Text = textBox1.Text; } } } * 如果要在其他窗体中显示之前窗体的内容,分为两种情况,一是在From1打开的From2,From2调用From1中的内容,可以将From2中控件设为public,然后在From1打开From2时将数据传给From2中的控件,适合简单应用; * 二是From3打开的From2,From2调用From1中的数据,就设一个全局变量 */
  • 打赏
  • 举报
回复
引用 10 楼 weixin_40421724 的回复:
[quote=引用 5 楼 liuzhe147 的回复:] 当然会报错,你的num1的变量名只有在button1的click事件中有用, 出了这个事件,就没用了,就算你设置是全局变量, 也只能在这个界面有用,到不了别的页面,而且感觉你这个水平,还是要学个两年才能工作
试了一下用全局变量,在其他窗口也用的到啊。就是在Program.cs里面建一个static class,定义参数。 嗯,我本来不是学这个专业的,导师突然给的一个项目,时间有点紧迫,所以入门有点匆忙了。。谢谢鞭策,会努力的。[/quote] 加油
weixin_40421724 2017-10-12
  • 打赏
  • 举报
回复
引用 5 楼 liuzhe147 的回复:
当然会报错,你的num1的变量名只有在button1的click事件中有用, 出了这个事件,就没用了,就算你设置是全局变量, 也只能在这个界面有用,到不了别的页面,而且感觉你这个水平,还是要学个两年才能工作
试了一下用全局变量,在其他窗口也用的到啊。就是在Program.cs里面建一个static class,定义参数。 嗯,我本来不是学这个专业的,导师突然给的一个项目,时间有点紧迫,所以入门有点匆忙了。。谢谢鞭策,会努力的。
吃货程序员 2017-10-11
  • 打赏
  • 举报
回复
引用 8 楼 weixin_40421724 的回复:
[quote=引用 4 楼 rui_china 的回复:] 你的编译能通过不?
感谢!可以了。但是貌似只有在本个winform内可以用,其他的form里要想用的话,试了一下,是可以用全局变量吧?不知道用全局变量是不是最方便的方法呢。[/quote] 这样的业务逻辑的正确实现方案呢是 保存的时候将数据落地到磁盘,然后另外form从磁盘读取到这个数据展示。
weixin_40421724 2017-10-11
  • 打赏
  • 举报
回复
引用 4 楼 rui_china 的回复:
你的编译能通过不?
感谢!可以了。但是貌似只有在本个winform内可以用,其他的form里要想用的话,试了一下,是可以用全局变量吧?不知道用全局变量是不是最方便的方法呢。
weixin_40421724 2017-10-11
  • 打赏
  • 举报
回复
引用 2 楼 xdashewan 的回复:
去基础书里找找有关变量的生命周期或者作用域的知识学习一下
好的好的,谢谢了。
weixin_40421724 2017-10-11
  • 打赏
  • 举报
回复
引用 1 楼 daixf_csdn 的回复:
你语法还没入门呢,变量域都没弄清楚,建议先弄本书完整看看
嗯好的,老师突然给的项目,进度有点紧,谢谢了。
  • 打赏
  • 举报
回复
当然会报错,你的num1的变量名只有在button1的click事件中有用, 出了这个事件,就没用了,就算你设置是全局变量, 也只能在这个界面有用,到不了别的页面,而且感觉你这个水平,还是要学个两年才能工作
灬浪子灬 2017-10-11
  • 打赏
  • 举报
回复
你的编译能通过不?
灬浪子灬 2017-10-11
  • 打赏
  • 举报
回复
namespace WindowsFormsApp1 { public partial class Form1 : Form { double num1; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) //保存输入的数据 { num1 = Convert.ToDouble(textBox1.Text); } private void button2_Click(object sender, EventArgs e) //显示输出的数据 { textBox2.Text = num1.ToString(); } } }
圣殿骑士18 2017-10-11
  • 打赏
  • 举报
回复
你语法还没入门呢,变量域都没弄清楚,建议先弄本书完整看看
xdashewan 2017-10-11
  • 打赏
  • 举报
回复
去基础书里找找有关变量的生命周期或者作用域的知识学习一下

111,093

社区成员

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

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

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