Когда штрих-код сканируется в form1, я звоню в базу данных, чтобы получить элемент для этого штрих-кода, и открываю form2 с предварительно заполненными данными.
Если я использую событие с измененным текстом, то число штрихов в одном штрих-коде увеличивается.
Я не могу проверить длину штрих-кода, так как она может отличаться каждый раз.
какое событие я должен использовать, чтобы сделать только один вызов при сканировании штрих-кода?
Я пробовал события TextChanged, KeyPress, KeyDown, но все они вызываются несколько раз.
private void txt_Barcode_TextChanged(object sender, EventArgs e)
{
con.Open();
GenerateInvoice gn = new GenerateInvoice();
string query = "SELECT * FROM dbo.Inventory WHERE Barcode = '" + txt_Barcode.Text + "' ";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader dr = cmd.ExecuteReader();
while (DR1.Read())
{
gn.txt_Barcode.Text = dr["Barcode"].ToString();
gn.txt_ProductName.Text = dr["ProductName"].ToString();
gn.txt_Price.Text = dr["SellingPrice"].ToString();
gn.txt_QTY.Text = 1.ToString();
gn.txt_Total.Text = dr["SellingPrice"].ToString();
}
con.Close();
}
Я открыт для использования текстового поля для захвата штрих-кода в форме 1 (я буду скрывать его в пользовательском интерфейсе)