Diskuze: WF - problém se scroll barem
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 22 zpráv z 22.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Jak to mas v kodu sestavene? Nechce se me ted poustet VS ale pokud si pamatuju tak se udela scrollView a do vlastnosti Child/Content se da ten picture box a ono se to "udela samo" ne ?
jj, jedná se o WF. Jen upřesním, že mám VS2010 Express (asi to ale na to
mít vliv nebude), ale hlavně sem začátečník, takže žádný složitý
věci, prosím
Dyt je to tam to samy. Das panel, na panelu das AutoScroll true, do panelu das pictureBox a tomu das SizeMod auto a je to.
Díky za radu, ale to mi nefunguje, celý se mi to rozhodilo a problém stejně přetrvával.
Jaky problem pretrvava ? Co se ti rozhodilo ? Ted sem to skousel Panel->PictureBox + ty property s obrazkem s rozlisenim 16 000x12 000 a funguje to jak ma.
asi nejlepší bude, když to ukážu na obrázku:
To bude chtit asi aby si sem postnul vic kodu protoze jak rikam Panel+PictureBox funguje normalne.
a co sem mám hodit? Kreslení grafu?
Jo ty ten graf kreslis jo ? no to by sme se mohli pomalu dostavat k jadru
problemu
predpokladam ze to NEKRESLIS do bitmapy kterou pak nastavujes jako zdroj pro
pictureBox
asi nejlepší bude, když sem hodim kousek kódu
tohle se stane v okamžiku spuštění programu:
if (pbGraf1.Image == null)
{
pbGraf1.Image = new Bitmap(pbGraf1.Width, 1000,
System.Drawing.Imaging.PixelFormat.Format32bppArgb);
}
následující část proběhne v okamžiku, když se má překreslit (prostě zobrazit) graf:
if (pbGraf1.Image != null)
{
using (Graphics g = Graphics.FromImage(pbGraf1.Image))
{
g.FillRectangle(SystemBrushes.ButtonFace, 0, 0,
pbGraf1.Width, pbGraf1.Height);
dg.DrawGraf(g, pbGraf1, scbGraf1.Value, analyt1,
Convert.ToDouble(tbOd1.Text), Convert.ToDouble(tbCilHodnota1.Text)); // zde se kreslí čáry a text
g.Save();
}
}
P.S. zkusil sem si s tím trochu pohrát pohrát a zmenšil sem bitmapu, takže se mi to v AutoSize módu nerozhodí, stále se ale nemůžu dostat na posledních 60 položek
ty mas nejak divoky kod xD
tak napred si udelas bitmapu ktera je jen 1000 px vysoka (ano sama se neroztahne kdyz ji das jen 1000px na vysku)
pak ovsem vubec neberes jeji vysku v potaz kdyz se odkazujes na pbGraf1.Height protoze pbGraf1.Height != 1000.
a nakonec este nechapu proc posilas do metody DrawGraf objekt Graphics tak objekt Picturebox. Nekresli se to nahodou jen do Graphics ?
divoký? možná trochu, jak sem psal, sem tak trochu amatér
PictureBox do DrawGraf(…) posílám kvůli rozměrům, se kterýma tam pracuju, ale šlo by to nahradit číslem, to mě nenapadlo.
Jinak máš pravdu, že tu bitmapu ignoruju, to mi nedošlo, ale nějak nevim, kde bych to měl změnit.
Tak bitmapu vytvarej az kdyz vis velikost vykreslovane oblasti.
takže to předělat na něco takovýho?
pbGraf1.Image = new Bitmap(pbGraf1.Width, analyt1.Count * 5,
System.Drawing.Imaging.PixelFormat.Format32bppArgb);
//analyt1.Count = velikost souboru
bohužel to nefunguje
bitmapu vytvarim tam, kde vim, kolik mista potrebuji k zobrazeni tech dat.
nevim, kde presne je to misto v tvem programu. a nevim co ti na postnutem kodu
nejde. pojem nefunguje je totiz docela obecny pojem
furt mám problém se scroll barem, nejsem schopen dostat se posledních 60 položek
no problem bude u tebe v tom ze spatne pocitas vyslednou vysku bitmapy.
jakože je malá? i když nastavím výšku na 50 × počet položek v seznamu, tak nejsem schopnej se dostat až úplně dolů
A víš určitě, že je velikost 50? Očividně ne
no, jeden řádek má velkost 20, takže 50 je víc než dost
Zobrazeno 22 zpráv z 22.