У меня есть данные о serialportRecived, в которых есть 2 метода. LogFile регистрирует данные, а drawSetpoint рисует график.C# winforms, сохраняющее значение из numericupdown
public void serialPort1_DataRecived (object sender, SerialDataReceivedEventArgs e)
{
DateTime time = DateTime.Now;
string Rdata = serialPort1.ReadLine();
LogFile(Rdata, (int)numericSetpoint.Value);
drawSetpoint(time,numericSetpoint.Value.ToString());
}
Оба метода принимает второй аргумент от управления NumericUpDown, который выглядит следующим образом
public void numericSetpoint_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (serialPort1.IsOpen)
{
int setpoint = (int)numericSetpoint.Value;
//send to serial port .....
}
Проблема заключается в том, оба метода в моих данных RECIVED событий чтения цифр, как я печатаю их. Например, если я напечатаю 150, LogFile покажет 1,15,150, а функция draw начнет рисовать 1,15,150. Я хотел бы, чтобы обе функции принимали значение из элемента управления numericSetpoint после нажатия клавиши ввода, чтобы получить все значение. Как я мог это сделать?
Похоже, что он должен делать то, что вы хотите. Поместите точку останова внутри метода «KeyPress» и посмотрите, что «KeyChar» находится при каждом нажатии клавиши. Этот внутренний блок 'if' не должен выполняться, если нажата клавиша Enter, и я понятия не имею, что это будет. –
Событие Keypress отлично работает. Проблема заключается в чтении значения с этими 2 функциями внутри события, связанного с данными. Они сразу читают значение, когда я начинаю печатать, поэтому они показывают 1,15,150. Я хотел бы прочитать все значение сразу после нажатия клавиши ввода. – paChow