# C-Sharp - Formulare



## BastiFantasti86 (26. Oktober 2007)

Hi an alle!
Ich soll ein Formular erstellen wo man Rechtecke bzw. Kreise erstellen soll.
Der enthält den Button "hinzufügen". Der soll allerdings
nach anklicken des Buttons ein 2. Formular öffnen und die größe eines Rechtecke bzw. Kreises abfragen, die gewünscht ist.
Ich komme nur soweit das ich im 1. Formular zeichnen kann, aber weiter leider noch nicht.

Link wie es aussehn sollte: http://img366.imageshack.us/img366/153/62709276qa7.jpg

Hier mein Kompletter kleiner Code =):

```
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Graphic
{
  public partial class Form1 : Form
  {
    private Rechteck rect = new Rechteck();
    private Graphics g;

    private List<Rechteck> rectListe = new List<Rechteck>();


    
    private bool mousedown = false;
    public Form1()
    {
      InitializeComponent();
      g = pnlZeichenfläche.CreateGraphics();
      
    }

    private void pnlZeichenfläche_Paint(object sender, PaintEventArgs e)
    {
      // neu zeichnen (z.B. nach Minimieren)
      foreach (Rechteck r in rectListe)
           r.zeichnen(e.Graphics);
    }

    private void pnlZeichenfläche_MouseUp(object sender, MouseEventArgs e)
    {
      mousedown = false;
      rectListe.Add(rect);
    }

    private void pnlZeichenfläche_MouseDown(object sender, MouseEventArgs e)
    {
      // Determine the initial rectangle coordinates...

      rect = new Rechteck(Color.Yellow);
      rect.Rahmen = 2;
   
      rect.X = e.X;
      rect.Y = e.Y;
      mousedown = true;

     
     
    }

    private void pnlZeichenfläche_MouseMove(object sender, MouseEventArgs e)
    {
      if (mousedown)
      {
          rect.löschen(g, pnlZeichenfläche.BackColor);
          try
          {
              rect.Width = e.X - rect.X;
              rect.Height = e.Y - rect.Y;
              rect.zeichnen(g);
          }
          catch (Exception ex)
          {
              mousedown = false;
              MessageBox.Show(ex.Message);
          }
      }
    }

		private void Form1_Load(object sender, EventArgs e)
		{

		}

		private void Hinzufügen_Click(object sender, EventArgs e)
		{

		}

		private void Hintergrund_Click(object sender, EventArgs e)
		{

		} 

		private void löschen_Click(object sender, EventArgs e)
		{

		} 
		private void Allelöschen_Click(object sender, EventArgs e)
		{

		}   

  }
}
```


----------



## Konstantin Gross (26. Oktober 2007)

Hallo,
nur mal so wir haben ein extra .NET Unterforum  Zu deinem Problem, das ganze ist sehr einfach zu realisieren, der Norbert hat dazu auch ein Tutorial geschrieben. Falls du weitere Fragen hast nur zu.


----------

