Avatar billede ahara Nybegynder
05. juli 2006 - 16:22 Der er 3 kommentarer

Problemer med at tegne på pictureBoxes

Hej

Jeg har et grid af 20 x 20 pictureBoxes. Når jeg højreklikker på en pictureBox og kører den over andre pictureBoxes skal disse farves sorte indtil jeg slipper knappen igen.

Jeg benytter nedenstående kode. Problemet er at jeg kun får malet boxes jeg klikker på sort. Skyldes det at jeg skal køre mine funktioner i tråde?

Tak
AHR


***************
Min Kode:
***************

private void mouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
    drawNow = true;
}

private void mouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
    drawNow = false;
}

private void mouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
    if (drawNow==true)
    {
        int location = ((PictureBox)sender).Parent.Controls.GetChildIndex(((PictureBox)sender));
                int y = location % 20;
        int x = (location-y)/20;
        pbList[x,y].BackColor = Color.Black;
    }
}
Avatar billede Syska Mester
05. juli 2006 - 19:00 #1
hmmm, for 0 point?

Men hvorfor ik' gøre som de andre foreslog i det andet spm?

Tror det er fordi OnPaint når at tegne den org kasse igen.

men du siger den kun tegner når du klikker, som jeg kan se burde den slet ik' gøre noget når du klikker.....

// ouT
Avatar billede ahara Nybegynder
06. juli 2006 - 01:57 #2
Ved ikke lige hvad der skete med point, men dem kan jeg sagtens uddele alligevel.

Hvis jeg udkommenterer min "if(drawNow==true)" virker det faktisk som det skal men så tegner jeg bare konstant. Hvis denne ikke er udkommenteret tegnes der på et felt men når jeg så flytter musen tegnes der ikke på de pictureBoxes.

Nogen ide?

**********

//if (drawNow==true)
{
int location =                        ((PictureBox)sender).Parent.Controls.GetChildIndex(((PictureBox)sender));
int y = location % 20;
int x = (location-y)/20;
pbList[x,y].BackColor = Color.Black;
}
Avatar billede mcgoat Nybegynder
10. juli 2006 - 14:22 #3
Når du nu sætter drawNow = false på mouseup, så skal du vel også have en mousedown hvor den sætter drawNow til true?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester