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 😉
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
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.
Poste doch einfach mal den Code, den du schon geschrieben hast.
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
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 😉
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
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 😁 :]
wieso kommt du drauf das ich in form 1 zeichne ?
alles 'ne Sache der Hartnäckigkeit .. irgendwann schafft man alles 😉
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 😁 :]
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 😉
Hi!
Dann hättest du hinterher eine 3. Form.
der Marcel
:] 😄Der größte Fehler eines modernen Computers sitzt meist davor 😁 :]
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 😉
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 😉
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 😁 :]
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.
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 😉
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.
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 😉
Hallo harleyhm,
aus
[****CSHARP]das ist ein code[**/**CSHARP]
wird
das ist ein code
herbivore
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
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 😉