怎么将textbox里的产量取出给另一个窗口使用?

怎么将textbox里的产量取出给另一个窗口使用?

问题描述:

我在做一个简单的水电缴费系统,遇到一个问题,我想将textbox里输入的数字经过计算从充值的金额变成电量存入数据库中,点击确定缴费就跳出一个窗口显示滴校园卡,我怎么把上一个界面的textbox里的数值调用到这一个窗口,将换算出的电量加入数据库中?,并将校园卡中的金额扣除?,并且我还有个缴费记录的表(水电缴费记录和校园卡充值消费记录)需要同时写入????????????求求大佬们救命啊????

img

img

 水费0.8元/L
查询 4B554 查询
                                                                       X
楼栋 缴费
四 缴费金额 TextBox
                                 确认缴费
                  欢迎进入智慧水电系统 2021/12/07
                                                                                      21:25:58
 水费0.8元/L
查询
                                                                                              X
                                                        请放置校园卡
楼栋
                缴费金额 20
                                                          )
                                     确认

校园卡的Form新增一个public的属性就行了,然后点击缴费实例化校园卡的Form时赋值textbox的值给这个属性值
代码模型代码如下


public class Card:Form{
//接受输入的值
public string textboxvalue{get;set;}
}

调用


var f=new Card();
f.textboxvalue=textBox1.Text;//注意这里textbox的名称
f.Show();

有帮助麻烦点下【采纳该答案】,谢谢~~有其他问题可以继续交流~

定义public static的成员变量,通过类名调用。

这个要看情况
如果你没使用第三方框架的话,你可以重写弹出对话框的构造函数,点击缴费时将缴费金额传入:

public partial class CardWindow : Window
    {
        public CardWindow(int amount)
        {
            InitializeComponent();
        }
    }

        private void Pay_Click(object sender, RoutedEventArgs e)
        {
            var window = new CardWindow(Convert.ToInt32(this.TxtAmount.Text));
            window.ShowDialog();
        }

如果你不是用的window空间弹框,而是使用UserControl控件自定义弹框,使用方法也一样

如果你使用了mvvm模式或者使用了诸如prism框架的话,传值方法就又不一样的,比如prism框架有个IDialogService,通过依赖注入到页面的ViewModel中,弹框和传值是最优雅和方便的

另外多表保存记录问题,如果你用的sql语句操作,那么你需要显示使用事务,如果你用的entityframework针对实体操作,你只要将针对不同表的操作放到一个方法里,默认隐式会使用事务,如果ef默认未能启用事务,也可以显示使用事务的