Laden...

Form --> Form

Erstellt von harleyhm vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.082 Views
H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren
Form --> Form

Ich versuche also ein Lotto Programm zu schreiben.

In Form 1 ziehe ich Zufallszahlen welche :

-verglichen werden auf doppelte Zahlen
-Reihe sortieren
-Vergleichen ob Reihe doppelt
-wenn alles klar Reihe ablegen in Feld
.
.
.
wenn Ziehung fertig will ich :

Reihen auf Bildschirm darstellen ... und ab da gehts los ... klappt nicht

also wer hat ne Idee mit was ich das am besten mache ???

Hilfeeeeeee

X(

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo harleyhm,

ich sehe nicht mal, wo du zwei Forms benutzt. 🙂

Aber wenn du zwei Forms benutzt, ist das ziemlich sicher eine Frage für die FAQ: Kommunikation von 2 Forms

herbivore

6.862 Beiträge seit 2003
vor 17 Jahren

Du könntest im einfachen Fall mehrere Textboxen zur Anzeige benutzen, oder Labels, oder selber zeichnen, ist ja auch net so schwer wenns geht nen paar Zahlen anzuzeigen.

Wie versuchst du es denn jetzt wenn du schreibst, dass es nicht klappt?

Baka wa shinanakya naoranai.

Mein XING Profil.

Q
6 Beiträge seit 2006
vor 17 Jahren

Poste doch einfach mal den Code, den du schon geschrieben hast.

2.223 Beiträge seit 2005
vor 17 Jahren

nabend

sorry das wir nicht sofort losschreiben aber ich finde dass du uns schon ein wenig helfen muss zb mit einer genauen problembeschreibung oder oder oder....

mfg

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren
Form --> Form

also Form 2 will ich zur Darstellung/Anzeigen der gezogenen Zahlen benutzen.

hier der code 2te form anfang:


//-------------------------------
// Menupunkt "Zahlen auf Monitor"
//-------------------------------
private void menuItem18_Click(object sender, System.EventArgs e)
{

Form anzeigen_Gezogene_Monitor = new Form_Gezogene_Monitor();
anzeigen_Gezogene_Monitor.Show();

// blauer text auf form

Graphics g = this.CreateGraphics();
font f = new Font("Arial", 10, FontStyle.Regular | FontStyle.Regular);
			
g.DrawString("Test Schriftarten", f, new SolidBrush(Color.Blue),10, 10);
			
}

code 2te form ende:

den blauen text hatte ich nur mal so gemacht um zu sehen ob sich auf der form 2 überhaupt was tut .. aber da erscheint nichts .. der code entspricht genau dem einer buch-cd .. dort geht es mit einer form .. aber bei 2 formen scheint was im code der 1ten form oder und der 2ten form zu fehlen ..

tja so sind eben meine problemchen 😉

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo harleyhm,

du willst auf Form2 zeichen, tust das aber in Form1. Zeichenoperationen gehören ohnehin in OnPaint/Paint. Die zu zeichnenden Angaben kannst du per Paramter an den Konstruktor von Form_Gezogene_Monitor übergeben.

herbivore

564 Beiträge seit 2006
vor 17 Jahren

Hi harleyhm!

So wie ich den Code interpretieren kann, steht dieser nicht in der 2. Form, sondern in der auf den Click auf ein MenuItem aufgerufenen Methode, welche die 2. Form aufrufen soll. Demzufolge müsstest du auf Form 1 zeichnen.

Besser könntest du auch gleich schreiben:

Form_Gezogene_Monitor anzeigen_Gezogene_Monitor = new Form_Gezogene_Monitor();

Ich würde dir auch dazu raten, erst noch etwas die Grundlagen zu C# und objektorientierter Programmierung durchzuarbeiten (in einem Buch, mindestens jedoch den guide to C#)

Viel Erfolg! 😉
der Marcel

EDIT: zu spät

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren
Form --> Form

wieso kommt du drauf das ich in form 1 zeichne ?

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

564 Beiträge seit 2006
vor 17 Jahren

hi!

Original von harleyhm
wieso kommt du drauf das ich in form 1 zeichne ?

weil der Code unmöglich in Form2 stehen kann 😉

der Marcel

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren
Form --> Form

ich habe den gleichen code auch in der 2ten Form stehen .. aber trotzdem tut sich nichts

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

564 Beiträge seit 2006
vor 17 Jahren

Hi!

Dann hättest du hinterher eine 3. Form.

der Marcel

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren

also damit rufe ich auf


//-------------------------------
// Menupunkt "Zahlen auf Monitor"
//-------------------------------
private void menuItem18_Click(object sender, System.EventArgs e)
	
{
Form anzeigen_Gezogene_Monitor = new Form_Gezogene_Monitor();
anzeigen_Gezogene_Monitor.Show();
}

und das ist die 2te form


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Lotto_hm

{
/// <summary>
/// Zusammendfassende Beschreibung für Form_gezogene_Monitor.
/// </summary>
public class Form_Gezogene_Monitor : System.Windows.Forms.Form
{

/// <summary>
/// Erforderliche Designervariable.
int SollReihenAnzahl;
int SollZahlenAnzahl;
int [] FeldZahlgezogen;
int [,] FeldReihengezogen;
		
/// </summary>
		
private System.ComponentModel.Container components = null;

public Form_Gezogene_Monitor()
{
//
// Erforderlich für die Windows Form-Designerunterstützung
//
InitializeComponent();

//
// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
//
}

/// <summary>
/// Die verwendeten Ressourcen bereinigen.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung. 
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
// 
// Form_Gezogene_Monitor
// 
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(840, 358);
this.Name = "Form_Gezogene_Monitor";
this.Text = "   Gezogenen Reihen auf Monitor darstellen";
this.Load += new System.EventHandler(this.Form_Gezogene_Monitor_Load);

}
#endregion

		

private void Form_Gezogene_Monitor_Load(object sender, System.EventArgs e)
{

			

ForeColor = Color.Black;
for (int grd=1; grd <= SollReihenAnzahl; grd++)
   {
      for (int gzd=1; gzd <= SollZahlenAnzahl; gzd++)
     {
        Graphics g = this.CreateGraphics();
        g.DrawString(FeldReihengezogen[grd,gzd].ToString(),new Font("Arial",10),new SolidBrush(Color.Black),grd,gzd);
					
      }
   }
}
}
}

ich hoffe man erkennt jetzt was ich vor habe und was ich falsch mache 😉

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren

frage mich wieso der code diesmal nicht als code ist ...hm

naja wir sind alle nur menschen 😉

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

564 Beiträge seit 2006
vor 17 Jahren

Hi!

Benutze doch bitte C#-CodeTags. Dann könnte man als Leser auch was erkennen 🙂

der Marcel

:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]

6.862 Beiträge seit 2003
vor 17 Jahren

Du hast zwar Variablen für die Werte angelegt, aber die sind doch leer und werden nirgends gesetzt. Wie soll er da was anzeigen. Da dürfte der Link in Herbivores Post gleich am Anfang nützlich sein.

Baka wa shinanakya naoranai.

Mein XING Profil.

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren
Form --> Form

was sind c#tags ???

und ich hab die alte form gelöscht und jetzt ne neue frische erstellt ... und ich möchte einfach nur einen text auf die form bringen .. mehr nicht .. was fürn text und so ist mir egal hauptsache es erscheint was .. den rest kriege ich dann schon hin ..

den code der gleich folgt sollte so bleiben ..
an der stelle

// XXX

sollte dann der code stehen der den text auf die form bringt .. möglichst ohne den anderen code zu verändern (zusätzliches kann dazu kommen, aber möglichst den code der vorhanden ist nicht verändern .. weil sonst blicke ich gar nicht durch ..

die form hab ich erzeugt mit .. projektmappe/hinzufügen/windows form


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;

namespace Lotto_hm
{
	/// <summary>
	/// Zusammendfassende Beschreibung für Form2.
	/// </summary>
	public class Form2 : System.Windows.Forms.Form
	{
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Form2()
		{
			//
			// Erforderlich für die Windows Form-Designerunterstützung
			//
			InitializeComponent();

			//
			// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
			//
		}

		/// <summary>
		/// Die verwendeten Ressourcen bereinigen.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung. 
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		private void InitializeComponent()
		{
			// 
			// Form2
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(292, 266);
			this.Name = "Form2";
			this.Text = "Form2";
			this.Load += new System.EventHandler(this.Form2_Load);

		}
		#endregion

		private void Form2_Load(object sender, System.EventArgs e)
		{
		
			// XXX

		}
	}
}

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

6.862 Beiträge seit 2003
vor 17 Jahren

C# Code Tags sind

[csharp][/csharp]

womit du Quellcode hervorheben kannst.

Zum anderen kann ich dir nur nochmals den Link empfehlen den Herbivore gepostet hat!

Baka wa shinanakya naoranai.

Mein XING Profil.

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren
Form --> Form

hier teste ich mal

code:

das ist ein code

was ich noch sagen wollte ich habe es also geschaft eine form aus einer anderen form aufzurufen und auf ihr einen text darzustellen

also manchmal bin ich ja hartnäckig und gut

aber so steht das nirgens in den büchern .. ist schon nicht leicht

dank an alle die mir versucht haben zu helfen

😉 aber nächstes mal könnt ihr euch ruhig ein bissel mehr bemühen 😉

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo harleyhm,

aus

[****CSHARP]das ist ein code[**/**CSHARP]

wird

das ist ein code

herbivore

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo harleyhm,

bitte fülle das Forum nicht mit deinen Tests. Du kannst die Vorschau verwenden, ohne den Beitrag abzuschicken. Es fehlte ein Slash. Ich habe den Beitrag gelöscht.

herbivore

H
harleyhm Themenstarter:in
9 Beiträge seit 2006
vor 17 Jahren

noch mal

				//this.Load += new System.EventHandler(this.gezogene_Zahlen_darstellen_Load);
			Paint += new PaintEventHandler(this.gezogene_Zahlen_darstellen_Load);

		}
		#endregion

		private void gezogene_Zahlen_darstellen_Load(object sender, System.Windows.Forms.PaintEventArgs e)
		{
			PointF textPoint = new PointF(12.0f,12.0f);
			e.Graphics.DrawString("Text location specified by a PointF value",Font,SystemBrushes.WindowText,textPoint);
		} 

das ist also der code mit dem ich es hingekriegt habe 🙂)

alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉