Avatar billede casualty Nybegynder
31. marts 2006 - 10:10 Der er 4 kommentarer og
1 løsning

Draw border, trækker streger

Jeg har lavet min egen klasse der arver fra Panel.

Grunden til at jeg har gjort det er at jeg gerni ville kunne ændre farven på kanten (border) af mit panel.

Det er også lykkedes dog trækker den streger når man ændrer størrelse på formen som mit oanel ligger i (Se vedhæftede fil).

http://bluepage.dk/exp/drawerror.gif

Koden jeg tegner med er følgende:

------------------------

public BorderPanel() {
    this.SetStyle(ControlStyles.UserPaint,true);
}

protected override void OnPaint(PaintEventArgs e) {
    base.OnPaint(e);
    ControlPaint.DrawBorder(e.Graphics,
    e.ClipRectangle, 
    borderColor,
    borderWidth, ButtonBorderStyle.Solid,
    borderColor,
    borderWidth,
    ButtonBorderStyle.Solid, 
    borderColor,
    borderWidth,
    ButtonBorderStyle.Solid,
    borderColor, borderWidth, ButtonBorderStyle.Solid);
}

--------------------

Mvh Anders
Avatar billede casualty Nybegynder
31. marts 2006 - 10:11 #1
Spørgsmålet er derfor: Hvorledes undgår jeg, at mit panel trækker streger?
Avatar billede casualty Nybegynder
31. marts 2006 - 14:40 #2
Jeg har indtil videre løst det ved at opdatere grafikken hver gang parent control bliver resized:

private void BorderPanel_ParentChanged(object o, EventArgs e){
    if(this.Parent!=null){
        this.Parent.Resize+=new EventHandler(Parent_Resize);
    }
}

private void Parent_Resize(object o, EventArgs e){
    Refresh();
}

Andre løsningsmodeller er meget velkomne

Mvh Anders
Avatar billede -xyz- Nybegynder
03. april 2006 - 11:14 #3
Kan du ikke bare på formens SizeChanged event bruge invalidate()?
private void MainForm_SizeChanged(object sender, EventArgs e)
        {
            this.Invalidate();
        }
Avatar billede casualty Nybegynder
06. april 2006 - 14:00 #4
-xyz- >> Nej det ændrer desværre intet...
Avatar billede casualty Nybegynder
06. april 2006 - 15:31 #5
Har nu fundet løsningen:

I konstruktøren skriv:

SetStyle(ControlStyles.ResizeRedraw, 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