Hallo,
Ik ben aan het stoeien met C# en loop een beetje vast. Op internet kan ik geen goede oplossing vinden helaas.
Ik heb een RECHTHOEK klasse en een form. Het is de bedoeling dat de rechthoek getekend wordt op het formulier.
Het volgende staat in de rechthoek klasse:
Hoe kan ik in het form dit aanroepen zodat de rechthoek getekend wordt?Code:private void OnPaint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen pn = new Pen(Color.Blue, 100); Rectangle rect = new Rectangle(50, 50, 200, 100); g.DrawEllipse(pn, rect); }
- c# probleem met Paint
-
02-11-2010, 10:01 #1
- Berichten
- 4.961
- Lid sinds
- 17 Jaar
c# probleem met Paint
-
-
02-11-2010, 10:04 #2
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: c# probleem met Paint
OnPaint aanroepen? Misschien moet je het public maken
Public void OnPaint
Als je dubbelklikt op je form krijg je de onLoad function. Daar kan je de OnPaint functie aanroepen.Laatst aangepast door Wilbert E. : 02-11-2010 om 10:13
-
02-11-2010, 10:21 #3
- Berichten
- 4.961
- Lid sinds
- 17 Jaar
Re: c# probleem met Paint
Als ik hem public maak werkt het ook niet, maar volgens mij is dat ook een smerige manier. Ben eigenlijk op zoek naar de 'nette' manier. Volgens mij moet je die methode overriden maar ik kom er gewoon niet uit.
-
02-11-2010, 13:01 #4
- Berichten
- 231
- Lid sinds
- 17 Jaar
Re: c# probleem met Paint
In de Form heb je een Graphics object nodig, daarop kun je dan tekenen.
Om de onPaint() methode te kunnen overriden heb je eerst de juiste imports nodig:
PHP Code:using System.Drawing;
using System.Drawing.Drawing2d;
PHP Code:Graphics g = this.createGraphics();
PHP Code:Graphics g = panelNaam.createGraphics();
De onPaint roep je aan door 'm te overriden:
PHP Code:public override void onPaint(object sender, PaintEventArgs e) {
-
02-11-2010, 13:33 #5
- Berichten
- 4.961
- Lid sinds
- 17 Jaar
Re: c# probleem met Paint
Oke, bedankt zover.
Hoe moet het geheel er in de Rechthoek klasse uitzien?
Ik heb nu het volgende maar dat werkt nog niet
PHP Code:Graphics gfx;
public Rechthoek(Graphics gfx)
{
this.gfx = gfx;
}
public void Draw()
{
Pen pn = new Pen(Color.Blue, 100);
Rectangle rect = new Rectangle(50, 50, 200, 100);
gfx.DrawEllipse(pn, rect);
}
Laatst aangepast door J. Bosman : 02-11-2010 om 13:42
-
02-11-2010, 14:51 #6
- Berichten
- 231
- Lid sinds
- 17 Jaar
Re: c# probleem met Paint
Volgens mij klopt dat zo. Als je nu vanuit je Form in de OnPaint() methode die Graphics aanmaakt met CreateGraphics(), en dan daarna de Draw() methode aanroept van de Rechthoek?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic