@@ -16,6 +16,11 @@ public Form_Main()
1616 {
1717 InitializeComponent ( ) ;
1818
19+ this . DoubleBuffered = true ;
20+ this . SetStyle ( ControlStyles . OptimizedDoubleBuffer , true ) ;
21+ this . SetStyle ( ControlStyles . UserPaint , true ) ;
22+ this . SetStyle ( ControlStyles . AllPaintingInWmPaint , true ) ;
23+
1924
2025 var argDict = ParseCmdLineArgs ( ) ;
2126
@@ -50,9 +55,9 @@ public Form_Main()
5055 private Graph m_graph = null ;
5156 private Seismograph m_worker = null ;
5257
53- private void panel_wave_Paint ( object sender , PaintEventArgs e )
58+ private void Form_Main_Paint ( object sender , PaintEventArgs e )
5459 {
55- var size = this . panel_wave . Size ;
60+ var size = this . ClientSize ;
5661
5762 if ( m_graph == null || m_worker == null )
5863 {
@@ -62,13 +67,20 @@ private void panel_wave_Paint(object sender, PaintEventArgs e)
6267 }
6368 else
6469 {
65- m_graph . Draw ( e . Graphics , size ) ;
70+ using ( var bufferG = BufferedGraphicsManager . Current . Allocate ( e . Graphics , this . ClientRectangle ) )
71+ {
72+ var g = bufferG . Graphics ;
73+
74+ m_graph . Draw ( g , size ) ;
75+
76+ bufferG . Render ( e . Graphics ) ;
77+ }
6678 }
6779 }
6880
6981 private void timer_update_Tick ( object sender , EventArgs e )
7082 {
71- this . panel_wave . Invalidate ( ) ;
83+ this . Invalidate ( ) ;
7284 }
7385
7486 private void Worker_WhenDataReceived ( List < double > waveform )
0 commit comments