Witam, To może się każdemu przydać !!!!!!!!!!!
kiedyś poruszałem temat rysowania grafiki na formie..dokładniej na Panel..
- rysowanie zdjęcia metodą e.graphics.drawImage obracanie z wykorzystaniem macierzy e.graphics.Transform = matrix trochę matematyki ale rysowanie odbywało zgodnie z sygnałem pochodzącym z czujników..
Jednym słowem animacja ... no i był problem... odswieżając te grafikę za pomocą Update() this.Invalidate();
this.Update();
cała froma z tymi obrazkami strasznie migała..w takt odświeżania grafiki...
Znalazłem 2 rozwiązania w końcu:
-
ustawić Opacity formy na inną niż 100% (przy niektórych mmonitorACH 9x% nie robi różnicy..przy niektórych widać lekki prześwit.. BRAK MIGANIA :))
-
wywołać funckję poniżej :
public static void SetDoubleBuffered(Control control)
{
// set instance non-public property with name "DoubleBuffered" to true
typeof(Control).InvokeMember("DoubleBuffered",BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic,
null, control, new object[] { true });
}
control u mnie to Paint..
a dla niego nie można bezpośrednio ustawić DoubleBuffered na true... ten powyzszy zapis to wlasnie robi
efekt : BRAK MIGANIA