Czesc,
Mam pewen problem. Probuje zaprogramowac trackbara w ten sposob, ze jak przesuwa sie go w jedna lub druga strone to razem z nim przesuwa sie tez DrawLine w panelu.
Zrobilem w ten sposob:
public bool trcGodz1_1 = false;
public bool trcGodz1_2 = false;
public bool trcGodz1_3 = false;
private void trackBar1_Scroll(object sender, EventArgs e)
{
switch (trcGodz1.Value)
{
case 1:
trcGodz1_1 = true;
panel1.Refresh();
break;
case 2:
trcGodz1_1 = false;
trcGodz1_2 = true;
panel1.Refresh();
case 3:
trcGodz1_2 = false;
trcGodz1_3 = true;
panel1.Refresh();
break;
}
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Pen blackpen = new Pen(Color.Black, 2);
Graphics g = e.Graphics;
if (trcGodz1_1)
{
g.DrawLine(blackpen, 0, 0, 0, 485);
}
else if (trcGodz1_2)
{
g.DrawLine(blackpen, 5, 0, 5, 485);
}
else if (trcGodz1_3)
{
g.DrawLine(blackpen, 5, 0, 5, 485);
}
}
No i niby wszystko dziala, ale przy wiekszej ilosci trcGodz1.Value jak przesunie sie go za szybko, to linia zatrzymuje sie. Musze przesuac trackbara do tego miejsca gdzie zatrzymala sie linia i z powrotem powoli przeciagnac ja dalej. Jak przesuwam powoli to dziala jak nalezy. Co moze byc tego przyczyna?
Chyba, ze jest jakies inne, prostsze tego rozwiazanie, to prosze o wskazowki
Z gory dziekuje za podpowiedz.