在加载表单时,我使用了以下代码
private void LlenarCampos()
{
NombreProducto.Text = productos.Nombre;
ID.Text = productos.Producto_ID.ToString();
Codigobarrafrm.Text = productos.CodigoBarra;
Existenciafrm.Text = productos.Existencia.ToString();
precio1frm.Value = (decimal)productos.Precio1;
beneficio1frm.Value = (decimal)productos.Beneficio;
Costo.Value = (decimal)productos.Costo;
Existenciafrm.Enabled = false;
ComboCategoria.SelectedItem = CategoriaYPresentaciones.Categoria.fromid(productos.Categoria_ID).Nombre;
}
这段代码负责填充表单的所有字段,但是我有两个文本框,当EditValueChanged事件执行时,它们会进行计算。在表单填充了数据库数据并且用户进行了更改之前,我如何防止此事件发生?
这是文本框代码:
private void precio1frm_EditValueChanged(object sender, EventArgs e)
{
decimal beneficio = (precio1frm.Value - Costo.Value);
beneficio1frm.Value = (beneficio / Costo.Value) * 100;
}
1条答案
按热度按时间k4ymrczo1#
您没有显示定义事件处理程序的位置,所以我假设您让设计器通过Windows窗体IDE来完成此操作。因此,如果您在设计器中查看文本框的事件,您会在那里看到它。
它的作用是创建以下代码(或类似代码):
找到该代码(如果不确定其位置,请右键单击precio1frm_EditValueChanged的定义,然后选择“查找所有引用”或单击其上方的“引用”链接。从此处剪切该代码并将其粘贴到Form Load代码的末尾。根据需要对每个控件重复此操作。
这意味着在窗体加载完成之前不会激发事件处理程序