03. maj 2005 - 09:25Der er
7 kommentarer og 1 løsning
Picturebox - Scroll med mus
Jeg har en picturebox, hvor jeg har lavet en zoom funktion. Når man zoomer ind bliver billedet større end picturebox'en, og der kommer nu scroll barer på picturebox'en, og det er muligt at scrolle rundt og se forskellige stedet på billedet.
Jeg vil gerne lave denne scroll funktion, så man holder venstre museknap nede, curseren bliver til "Hand" (dette kan jeg godt klare :-) ), og man flytter billedet rundt i stedet for at bruge scrollbars.
Du kan gøre det ved at placere pictureboxen på et panel. Når du holder venstre museknap nede og laver og flytter musen, kan du ændre positionen på pictureboxen tilsvarende. Et lille kodeeksempel følger herunder. Du kan så forfine på løsningen til at begrænse hvor langt man kan flytte billedet, reducere på skærmflimmer osv.
private bool Scrolling = false; private int BoxStartX; private int BoxStartY; private int MouseStartX; private int MouseStartY;
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == MouseButtons.Left) { // Switch to scrolling mode Scrolling = true;
private void pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if (Scrolling) { // Update box position according to how mouse has moved since MouseDown pictureBox1.Left = e.X - MouseStartX + BoxStartX; pictureBox1.Top = e.Y - MouseStartY + BoxStartY; }
--> faedros Jeg har endnu ikke en færdig løsning, men du har i hvert fald skubbet mig i den rigtige retning, så smid et svar, så du kan få dine fortjente point.
dvs. jeg må ikke se koden til det zoom halløj du har lavet ?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.