@@ -238,12 +238,13 @@ private void Button_Open1(object sender, RoutedEventArgs e)
238238 if ( serialport . IsOpening )
239239 {
240240 //sp.ReceivedBytesThreshold = 4096;
241- serialport . DataReceived -= new SerialDataReceivedEventHandler ( serialport . Data_Received ) ;
241+ // serialport.DataReceived -= new SerialDataReceivedEventHandler(serialport.Data_Received);
242242 serialport . Closes ( ) ;
243243 SetOpbuttonOpenState ( button ) ;
244244 }
245245 else
246246 {
247+
247248 if ( portconfig . portname == null )
248249 {
249250 MessageBox . Show ( "Please set Port!" ) ;
@@ -254,7 +255,7 @@ private void Button_Open1(object sender, RoutedEventArgs e)
254255 MessageBox . Show ( "Please set BaudRate!" ) ;
255256 return ;
256257 }
257-
258+ FirstConfig = false ;
258259 serialport . Config ( portconfig ) ; //config portname baudrate etc...
259260 serialport . ReceivedBytesThreshold = 1024 ;
260261 serialport . ReadTimeout = 300 ;
@@ -377,8 +378,8 @@ private void Ports_SelectionChanged(object sender, SelectionChangedEventArgs e)
377378
378379 portconfig . portname = cbox . SelectedItem . ToString ( ) ;
379380 Close_Port ( ) ;
380- Open_Button . RaiseEvent ( new RoutedEventArgs ( Button . ClickEvent ) ) ;
381381
382+ Open_Button . RaiseEvent ( new RoutedEventArgs ( Button . ClickEvent ) ) ;
382383 }
383384
384385 //BaudRate
@@ -390,12 +391,10 @@ private void comboBox_BaudRate_SelectionChanged(object sender, SelectionChangedE
390391
391392 portconfig . baudrate = ( int ) cbox . SelectedItem ;
392393 Close_Port ( ) ;
393-
394394 if ( ! FirstConfig )
395395 {
396- Open_Button . RaiseEvent ( new RoutedEventArgs ( System . Windows . Controls . Primitives . ButtonBase . ClickEvent ) ) ;
396+ Open_Button . RaiseEvent ( new RoutedEventArgs ( Button . ClickEvent ) ) ;
397397 }
398-
399398 }
400399
401400
@@ -406,8 +405,8 @@ private void comboBox_Databits_SelectionChanged(object sender, SelectionChangedE
406405 if ( cbox . SelectedItem == null || serialport == null )
407406 return ;
408407
409-
410408 portconfig . databits = ( int ) cbox . SelectedItem ;
409+ Close_Port ( ) ;
411410 }
412411
413412
@@ -419,6 +418,7 @@ private void comboBox_StopBits_SelectionChanged(object sender, SelectionChangedE
419418 return ;
420419
421420 portconfig . stopbits = getSerialStopBits ( cbox ) ;
421+ Close_Port ( ) ;
422422
423423 }
424424
@@ -430,6 +430,7 @@ private void comboBox_Parity_SelectionChanged(object sender, SelectionChangedEve
430430 return ;
431431
432432 portconfig . parity = getSerialParity ( cbox ) ;
433+ Close_Port ( ) ;
433434
434435 }
435436
@@ -443,6 +444,7 @@ private void comboBox_HandShake_Selected(object sender, RoutedEventArgs e)
443444
444445
445446 portconfig . handshake = getSerialHandshake ( cbox ) ;
447+ Close_Port ( ) ;
446448
447449 }
448450 #endregion
0 commit comments