Laden...

Forenbeiträge von Till-H Ingesamt 75 Beiträge

25.02.2007 - 20:45 Uhr

So,
nach einiger Zeit, stelle ich jetzt mal die Version 2.0 online.
Eine komplettüberarbeitung, die soweit relativ Bugfrei sein müsste.
Ich wünsche euch sehr viel Spaß beim rumspielen.
MfG
Till-H

P.S. Falls ich noch Käfer finden solltet, sagt mir hier im Forum, per PM oder ICQ bescheid

23.02.2007 - 15:55 Uhr

Problem soeben gelöst..ein einfaches


this.Update;

hat war des Rätsels Lösung

22.02.2007 - 23:49 Uhr

ja,ok..ich danke dir und wünsche eine gute nacht 🙂

werde mich morgen nochmal ausführlich damit beschäftigen!
danke nochmals!
Till-H

22.02.2007 - 23:38 Uhr
private void pictureBox1_Paint(object sender, EventArgs e)
         {
             
             foreach (MyGraphicObject go in _listgo)
             {
                 go.Draw(graph);
             }
         }

ist mein neuer Eventhandler..

this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(pictureBox1_Paint);

tut trotzdem nicht..beim späteren vergrößern der form tuts aber wieder
brauchste noch mehr code um einblick zu bekommen!?

22.02.2007 - 23:25 Uhr

Original von herbivore
im OnPaint der PictureBox und nicht des Forms.

sorry, aber wie genau soll ich das machen..wenn ich in Form.cs ein OnPaint schreibe bezieht sich das doch immer auf die Form oder nicht?!

22.02.2007 - 23:20 Uhr
graph = Graphics.FromHwnd(pictureBox1.Handle);

meinst du das?
oder was genau meinst du damit..
also mit diesem graph zeichne ich..den übergebe ich auch

22.02.2007 - 23:14 Uhr

ich zeichne in einer picturebox..

22.02.2007 - 23:11 Uhr

Original von herbivore

dann guck dir mal das ClipRectangle an

weiß nicht genau, was du meinst..

Original von herbivore
Wird OnPaint von Anfang bis Ende durchlaufen?

ja 🙂

Till-H

22.02.2007 - 22:50 Uhr

OnPaint wird aufgerufen..kommt trotzdem nix..

22.02.2007 - 22:23 Uhr

Hallo,
ich habe ein Problem..
ich habe schön alles nach dem Turotial von herbivore gemacht..in OnPaint mit Liste etc...
Jetzt überlagere ich die Anwendung mit nem Textfenster..
Wenn ich diese Überlagerung rückgängig mache..d.h. Die form ist wieder im vordergrund, so sehe ich eine leere form.
Resize ich diese jetzt aber, so sind plötzlich alle meine gefüllten Rechtecke wieder zu sehen!
Sehr mysteriös..hat jemand ne idee?
MfG
Till-H

20.02.2007 - 14:18 Uhr

Hallo,
danke für eure Zahlreichen antworten..
@thejudge: ich werd mir das mal genauer ansehen..ich danke dir für die hilfe..klingt nach genau dem, wonach ich suche!!
MfG
Till-H

19.02.2007 - 22:47 Uhr

Ja,ok..
Nur wie würde ich es denn machen, wenn ich es nicht mit Textboxen mache..wäre mal gut zu wissen, falls man es in der Zukunft nochmal braucht 😉

19.02.2007 - 18:46 Uhr

mhm..ok..danke..aber irgendwie hackt es grade bei mir..
ich kann damit jetz ein paar kästchen zeichnen und so..nur wie mach ich das, dass ich da reinschreib und dieses reinschreiben noch schön auswerte!?

MfG
Till-H

19.02.2007 - 15:37 Uhr

danke..
hat vielleicht noch jemand ein deutsches Tutorial da, um zu lernen, wie man Forms zeichnet?
Wäre nett..danke

19.02.2007 - 13:53 Uhr

Hi,
ich hab jetzt den Code für ein Sudoku-Programm soweit fertig.. will das ganze jetzt in ein schönes Interface einbinden.
Wie mache ich am besten ein Interface dafür..also eine Sudoku-Eingabe und Ausgabe-Maske..
81 Textboxen zu erstellen ist ja irgendwie dumm...
Danke im vorraus
Till-H

14.02.2007 - 12:06 Uhr

bei mir hats so geklappt...is zwar vllt nicht so sauber 😉 aber es geht..

14.02.2007 - 12:02 Uhr

ich weiß nicht wirklich ob dir das hilft und ob das genau dein problem ist..
ich würde es sonst vllt so versuchen:


//Form 2
 private void cmd_close_Click(object sender, EventArgs e)
        {
          //Funktionen ausführen
          Hide();
        }
//Form 1, die Form 2 aufruft
 private void cmd_action_Click(object sender, EventArgs e)
        {
           //Funktionen
           Form2 Form2 = new Form2();
           Form2.ShowDialog();
           //Funktionen
        }

Hoffe ich konnte helfen
MfG
Till-H

Edit: Fehler im Code verbessert..

12.02.2007 - 10:00 Uhr

Programm gefällt mir sehr..
Muss nur an einer Stelle meckern..
Ich nutze eine Doppelte Taskbar..D.h. Doppelt so hoch..dadurch werden Teile deines Progs verdeckt.. Wenn man es so hinbekommen könnte, dass dies nicht der Fall ist 😉!?
Mit freundichem Gruß
Till-H

06.02.2007 - 19:04 Uhr

Hi,
ihr beiden..
habe es vergessen ins Programm zu schreiben 😉

Drückt mal STRG, während ihr die Regler bewegt!
Sollte das Problem vllt lösen 😉
Unter Vista hab ich jedoch keine Ahnung..falls "STRG" das Problem nicht löst, stehe ich auf dem Schlauch 😉
Danke und MfG
Till-H

05.02.2007 - 16:17 Uhr

Hallo,
ich habe zwei Trackbars eingebaut und will diese jetzt unhabhängig voneinander steuern über Key eingaben..
Das Problem ist, Das die "Up,Down,Left,Right" Eingaben von der Trackbar mit dem niedrigsten Tabstop abgefangen werden.
Ich will jetzt aber mit Up und Down die eine und mit Left und Right die andere steuern. Was empfehlt ihr mir?

(Bisher sieht der Code so aus)

 public void Form1_KeyPress(object sender, KeyEventArgs e)
        {

            if (e.KeyCode == Keys.Down)
            {
                if (trackBar1.Value != trackBar1.Maximum)
                {
                    trackBar1.Value++;
                    trackBar1_Scroll(sender, e);
                }
            }
            if (e.KeyCode == Keys.Up)
            {
                if (trackBar1.Value != trackBar1.Minimum)
                {
                    trackBar1.Value--;
                    trackBar1_Scroll(sender, e);
                }
            }
            if (e.KeyCode == Keys.Right)
            {
                if (trackBar2.Value != trackBar2.Maximum)
                {
                    trackBar2.Value++;
                    trackBar2_Scroll(sender, e);
                }
            }
            if (e.KeyCode == Keys.Left)
            {
                if (trackBar1.Value != trackBar1.Minimum)
                {
                    trackBar2.Value--;
                    trackBar2_Scroll(sender, e);
                }
            }
        }

danke im Vorraus für die Hilfe
Till-H

01.02.2007 - 19:00 Uhr

ok..danke dir für das kommentar..soeben das studio wieder gestartet..version 2.0 wird kommen 😉

01.02.2007 - 18:53 Uhr

Hi herbivore,
jaa..genau!!
Da ist der Spielzeugkenner!!!
Ich danke dir!

01.02.2007 - 18:33 Uhr

Hallo,
ich habe mal ein wenig mit GDI+ rumgespielt..und das hier entwickelt..
das war früher mal ein Kinderspielzeug..kann jetzt leider nicht mehr den namen dafür finden..
Viel Spaß damit
Till-H

EDIT: Habe vergessen in das Programm reinzuschreiben: Wenn man einen Regler für "Links-Rechts" oder "Oben-Unten" bewegt, muss man "Strg" drücken, damit das Programm malt

[EDIT von herbivore]Version 2.0 weiter unten: Malen[Spielzeug in C#] Version 2.0[/EDIT]

01.02.2007 - 16:42 Uhr

Hallo herbivore,

ja..hab ich auch schon gesehen.. aber wollte es einfach mal so ohne diese Sätze programmieren..
trotzdem danke 🙂

01.02.2007 - 13:46 Uhr

Hallo,
ich habe ein Programm geschrieben, dass Befreundete Zahlen errechnet..
Befreundete Zahlen:
Die Echte Teilersumme der Zahl A ist die Zahl B und die Echte Teilersumme der Zahl B ist die Zahl A.
Guckt es euch einfach an..😉


using System;

namespace Befreundete_Zahlen1
{
	/// <summary>
	/// Klasse gibt nach Übergabe eines Integer an "Teiler.Summe" die Summe
	/// der echten Teiler aus.
	/// </summary>
	public class Teiler
	{
		public int Summe(int zahl){
		int intSumme = 0;
		int intmax = 0;
			//Zahl wird bis zur Hälfte durchsucht
			for(int i = 1;i<(zahl/2);i++)
			{
			  if (zahl % i == 0)
				{
					if (zahl/i == intmax)
					{
						break; 
						//Abbruchkriterium, falls die Zahlen sich wiederholen
					}//of if
                   intmax = i;
                     intSumme = intSumme + i;
			 	intSumme = intSumme + zahl/i;
				}//of if

			}//of for
			intSumme = intSumme - zahl; 
			//Um Summe der Echten Teiler zu erhalten wird die Zahl von
			//der Teilersumme abgezogen			
			return intSumme;
		}//of Summe()
	}
}

Klasse, die die Teilersumme berechnet.


using System;

namespace Befreundete_Zahlen1
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
		
		[STAThread]
		static void Main(string[] args)
		{
		int intAnzahl = 110000;
		int[] TeilerArray = new int[intAnzahl+1];
		Teiler Teiler = new Teiler();

		// ENDE DER DEKLARATION

			for(int i = 1;i<=intAnzahl;i++)
			{
				TeilerArray[i]=Teiler.Summe(i);
			//TeilerArray wird mit Teilersummen gefüllt
			//ArrayPos --> Teilersumme
			}//of for
			for(int i = 1;i<=intAnzahl;i++)
			{
				if(TeilerArray[i] < intAnzahl & TeilerArray[i] > 0) 
				{
					if(i == TeilerArray[TeilerArray[i]] & TeilerArray[i] != i)
					{
						Console.WriteLine("Befreundete Zahlen {0} und {1}",i,TeilerArray[i]);
						TeilerArray[i]=0;
						//Befreundete Zahlen werden gesucht. Eine der beiden Zahlen wird
						//auf 0 gesetzt um Doppelfunde zu vermeiden
					}//of if(innen)
				}//of if(außen)
			}//of for
			Console.WriteLine("Fertig!");
			Console.ReadLine();
		}//of Main
	}
}

Hauptmethode zum Suchen der Zahlen.

Die .exe im Anhang benötigt einige Zeit(ca 1Minute) um ein Ergebnis zu finden