Archief - [PROG][C#] painten in een extende picturebox

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ingis

Legacy Member
Ik heb een nieuwe klasse gemaakt, namelijk een extended picturebox in C#. Had al moeilijkheden om dat ding effectief te zien op mijn scherm, maar dat is dan gelukt.

Nu wil ik in die picturebox dus tekenen. Dus ik moet in nieuw klasse de paint op een of andere manier in gang krijgen ... dit lukt dus niet ...

public void Paint(Graphics g) {
Pen p = new Pen(new SolidBrush(Color.Beige));
g.DrawEllipse(p, 0, 0, 100, 100);
}

public override void Paint(Graphics g) {
Pen p = new Pen(new SolidBrush(Color.Beige));
g.DrawEllipse(p, 0, 0, 100, 100);

}


protected void paintComponent(Graphics g){
//Super(g);
Pen p = new Pen(new SolidBrush(Color.Beige));
g.DrawEllipse(p,0,0,100,100);
}

zijn al verschillende manieren die ik geprobeerd heb .. maar nergens wilt het programma er zelf aan beginnen, laat staan tekenen. Normaal moet die paint ieder keer opgeroepen worden als ik in hoofdprog een invalidate doet van de ge-extended picbox.

iemand een tip ?

mvg ingis

MacK

Legacy Member
Code:
override void OnPaint(Graphics g) 
{
      base.OnPaint(g);

     //TO-DO mijn eigen drawcode
     ...

}


Die methode moet je 'overriden' (kan niet op het nederlandse woord komen :s)
en dan zou invalidate() moeten werken.

Trouwens, dat eerste en derde code-stukje van jou is java. (Super() bijvoorbeeld, is base.MethodeNaam(parameters) in C#)
Alsook moet je 'override' schrijven! (bij mijn weten toch)

Ingis

Legacy Member
eens proberen.

Van java kan best kloppen, normaal programmeer ik altijd daarin. Nu moet het in C#. Lijkt veel op java, ma niet overal dus :).

alvast bedankt


edit : gaat niet .net zegt: no suitable methode fount to override :(

MacK

Legacy Member
oeioei, ik begin ook al java en c# doorheen te halen (java voor school, c# als hobby)

tis:

Code:
override void OnPaint(PaintEventArgs e)
{
       base.OnPaint(e);

       //TODO mijn draw code

       Graphics g = e.Graphics;
       Pen p = new Pen(new SolidBrush(Color.Beige));

       //dit gaat ook wrsch :
       //Pen p = new Pen(Brushes.Beige);      

       g.DrawEllipse(p, 0, 0, 100, 100);
}

(Merk op: parameter)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan