为了账号安全,请及时绑定邮箱和手机立即绑定

其他文本框文本更改时如何自动更改文本框文本?

其他文本框文本更改时如何自动更改文本框文本?

C#
森林海 2022-06-18 17:08:13
我有这些名为bags,rate,quantity,packing size and amount的文本框我想要做的是当用户输入袋子和速率和包装尺寸时数量文本框应该自动显示相应的数量和数量但是在我的情况下当我点击计算按钮,然后它计算并显示我尝试使用 textchanged 事件的数量和金额,但它不能完成这项工作?using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Login{    public partial class Sale : Form    {        SaleCalci sale;        SaleBillheader SaleHeaderModel = new SaleBillheader();        tbl_SaleBillDetails SaleDetailModel = new tbl_SaleBillDetails();        public Sale()        {            InitializeComponent();        }        private void Cancelbtn_Click(object sender, EventArgs e)        {            clear();        }        private void clear()        {            txtBillNo.Text = txtDesc.Text = "";            txtBags.Text = txtQty.Text = txtRate.Text = txtAmt.Text = "0.00";            if(txtQty.Text !=null &&  txtAmt.Text !=null )            {                txtQty.Text = "0.00";                txtAmt.Text = "0.00";            }            Savebtn.Text = "Save";            SaleHeaderModel.SaleBillHeaderId = 0;            SaleDetailModel.SaleBill_Id = 0;        }        private void Exitbtn_Click(object sender, EventArgs e)        {           var result =  MessageBox.Show("Are you sure you want to close this form ?", "Confirm", MessageBoxButtons.YesNo);           if (result == DialogResult.Yes)           { this.Close(); }        }        private void Sale_Load(object sender, EventArgs e)        {            ItemCombo();            PartyCombo();            PackingSizeCombo();           // clear();        }        private void ItemCombo()        {            UserDataEntities db = new UserDataEntities();            Itembox.DataSource = db.tbl_ItemId.ToList();            Itembox.ValueMember = "ItemId";            Itembox.DisplayMember = "ItemName";        }  
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

通常,如果文本值更改,“TextChanged”事件会自动触发。

所以这里的问题是我考虑你的另一个“部分类”,其中必须存在事件处理程序工作。就像是:

txtBags.TextChanged += new EventHandler(txtBags_TextChanged);

如果存在这种情况,请检查您的其他部分课程。

如果您移动 gui 元素或出于其他原因,此事件处理程序有时会从项目中消失...

您可以手动阅读此语句。

顺便说一句,如果您没有使用其他部分类的经验,那么您可以尝试删除这些文本框并重新添加它们,那么您的问题将自动解决。


查看完整回答
反对 回复 2022-06-18
?
Helenr

TA贡献1780条经验 获得超4个赞

您需要在 txtBags 、 txtRate 和 Size 的 TextChanged 事件中调用 DisplayAmt。在上面的代码中,对 DisplayAmt 的调用被注释掉了。相反,您在 txtQty 的 TextChanged 事件中调用 DisplayAmt。


你应该这样做,而不是这样做。


private void txtAmt_TextChanged(object sender, EventArgs e)

{

   DisplayAmt();

}


private void txtRate_TextChanged(object sender, EventArgs e)

{

   DisplayAmt();

}

同样,您需要为 Size 的 Text Control 添加 Changed 事件。txtQty 由 DisplayAmt() 方法更新。因此,您不一定需要它,除非出于 OP 中未指定的原因。


查看完整回答
反对 回复 2022-06-18
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号