Zahl1 ist der Inhalt, bevor du auf eine Rechenoperation klickst. Zahl2 ist der Inhalt, bevor zu auf das Gleichheitszeichen klickst. Das Ergebnis wird dann in Zahl1 zusammengefasst und angezeigt.

Wenn man programmieren möchte, hilft es häufig sich das Problem auf Papier klar zu machen - oder in einem Textverarbeitungsprogramm am PC - oder ... je nachdem, was einem lieber ist.

...zur Antwort

Typischerweise (sofern nichts geändert wurde) wird die Anwendung beendet, wenn die Startform geschlossen wird.

Es kann sein, dass das Startformular versteckt wurde (Hide) und somit nicht geschlossen werden kann. Dadurch bleibt die Anwendung aktiv.

Du könntest zum Test einfach mal schauen, was dir "My.Application.OpenForms" so ausgibt, wenn dein Fenster geschlossen wird. Damit lässt du dir alle geöffneten Fenster anzeigen.

...zur Antwort

Was ist ein Picture-Button?

Wenn du mit Steuerelementen arbeitest, dann haben diese eine Location-Eigenschaft. Die gibt die Position von der oberen linken Ecke des übergeordneten Containers (bei dir möglicherweise die Form) zur oberen linken Ecke des Steuerelementes an.

Wenn es dir um die Logik der unterschiedlichen Programmzweige bei einem Klick geht, dann verwende eine zusätzliche Variable. Ist diese leer, dann wurde das erste mal geklickt und du kannst ihr einen Wert zuweisen (nämlich die Position). Ist diese nicht leer, dann wurde bereits einmal geklickt und sie hat einen Wert. Dann kannst du den Button auf diese Position setzen.

Oder wie auch immer; kann sein, dass ich dein Problem nicht ganz verstanden habe.

...zur Antwort

Visual Studio ist abwärtskompatibel. Was du beschrieben hast ist aber keine Abwärtskompatibilität, sondern eher das Gegenteil. Abwärtskompatibel heißt, dass eine Version von Visual Studio alle Projekte aus älteren Versionen öffnen kann - und das ist bei Visual Studio der Fall. Mit VS2015 kannst du Projekte von VS2010 öffnen.

Visual Studio 2010 kann aber beispielsweise keine Projekte von Visual Studio 2015 öffnen, weil diese nicht kompatibel sind. Visual Studio 2013 hingegen kann solche Projekte öffnen (da gab es keine Breaking Changes für Projektdaten).

Das bedeutet aber nicht, dass du diese auch fehlerfrei kompilieren kannst. Eine neue Version von Visual Studio heißt meist auch ein aktuellerer Compiler, der zusätzliche Anweisungen kennt. Vorallem die .NET Sprachen werden oft weiterentwickelt und erhalten neue Anweisungen, die es in den älteren Versionen der Sprachen nicht gab. Das ist dann von der Programmierung abhängig, ob diese Projekte fehlerfrei geöffnet und kompiliert werden können.

...zur Antwort

Am einfachsten mit der Date.ParseExact-Methode:

Dim d As Date = Date.ParseExact(TextBox1.Text, "yyMMdd", Globalization.CultureInfo.CurrentCulture)

Da kannst du das Format angeben und dein Text wird entsprechend geparsed. Die von dir genannten Methoden solltest du vergessen, das sind Überbleibsel aus VB6 und bringen dir in .NET keine Vorteile. Das Date-Objekt bietet, wie du siehst, deutlich bessere Möglichkeiten dafür.

...zur Antwort
if (this.Size == new Size(743, 268)) {
// Code
}

"this" beschreibt dabei die Instanz der FormHilfe.


Ergänzung: "if (Label17.Visible == true)" ist unnötig. Es reicht auch "if (Label17.Visible)", weil die Eigenschaft schon einen Wahrheitswert zurückgibt und daher nicht noch mit "true" verglichen werden muss.

...zur Antwort

Ich kann dir zumindest so viel sagen, dass es nicht an der Programmiersprache liegt. Wie bereits erwähnt wird eine Lösung schwierig, wenn man deinen Code nicht sieht. Noch schwieriger, wenn du glaubst, dass sowieso alles richtig ist.

Ich vermute, dass du ein Speicherproblem hast und ggf. die Bilder disposen solltest. Das muss aber auch nicht sinnvoll sein, je nach dem, wo die Bilder denn herkommen.

...zur Antwort

Für das Layout gibt es verschiedene Möglichkeiten. Die einfachsten Einstellungen triffst du über die Objekteigenschaften "Anchor" und "Dock".

Die Eigenschaften sind jedoch nicht sehr flexibel und gerade bei mehreren Steuerelementen wenig dynamisch. Da können Steuerelemente wie das TableLayoutPanel Abhilfe schaffen.

Das TableLayoutPanel in Verbindung mit der "Anchor" oder "Dock"-Eigenschaft ermöglicht die eine sehr flexible Größenanpassung und ist für die meisten Szenarien völlig ausreichend. Das verhindert auch in deinem Fall die Überlappung der TextBox-Elemente, wenn du jede TextBox in eine eigene Zelle des TableLayoutPanels schiebst.

...zur Antwort

Entweder du nutzt den vielseitigen Formeleditor dafür oder du schreibst x2 und formatierst die 2 anschließend als Hochgestellt. Das ist dann mit jeder beliebigen anderen Ziffern auch möglich, während mittels Alt Gr nur die Ziffern 2 und 3 mittels Tastatur zu schreiben wären.

...zur Antwort

Ich schreibe es immer wieder: Von YouTube-Videos kann man nicht lernen. Zumindest kein vernünftiges Programmieren.

Solche Spiele sollten objektorientiert programmiert werden, dann kannst du mit Leichtigkeit auch andere Spielvarianten implementieren. Dazu müsste man sich aber leider(!) vorher Gedanken darüber machen, wie das aussehen könnte ...

Spontan würde ich sagen, dass du zunächst eine Klasse erstellst, die eine Eigenschaft für den Kartenwert hat, für das Kartensymbol und die Kartenfarbe. Eine weitere Klasse, die von PictureBox erbt und somit die Karte darstellt (als neues Control). Dazu braucht diese Klasse eine Eigenschaft mit dem Datentyp der ersten genannten Klasse.

Beim Start eines neuen Spieles erstellst du 52 Instanzen von deinem neuen Control, denen du jeweils die Werte zuweist und in eine Liste aufnimmst. Diese kannst du mischen (suche nach Shuffle im Internet) und die Spiellogik kannst du dann selbst schreiben.

PS: So beim Schreiben habe ich gemerkt, dass diese Überlegungen nicht unbedingt optimal sind. Es gibt bessere Möglichkeiten, aber ich habe auch nicht groß drüber nachgedacht.

...zur Antwort

Wenn es unbedingt die Windows-Fotoanzeige sein soll, dann musst du das entsprechende Programm aufrufen. Das Programm ist aber keine eigenständige Anwendung sondern liegt in einer Bibliothek. die du über rundll ansprechen kannst.

Wenn deine Bilddatei den Pfad "D:\bild.jpg" hat, dann kannst du folgenden Befehl benutzen:

rundll32.exe "%ProgramFiles%\Windows Photo Viewer\PhotoViewer.dll",ImageView_Fullscreen D:\bild.jpg

Das kannst du alles nacheinander für jede Datei einzeln in eine Batch packen und diese ausführen.

Anmerkung: Der Dateiname am Ende darf nicht in Anführungszeichen stehen. Leerzeichen dürfen im Pfad vorkommen.

...zur Antwort

Was machst du, was ist dein bisheriger Code, was geht nicht, welcher Fehler wird dir angezeigt?

Verwende doch die .NET-Klassen anstatt irgendwelcher Kommandozeilen-Befehle. Das Framework ist wesentlich mächtiger.

System.IO.Directory.Delete

ist die Methode, die du dafür verwenden kannst. Der erste Parameter stellt den Pfad dar und über den zweiten Parameter kannst du angeben, ob auch untergeordnete Dateien und Verzeichnisse gelöscht werden sollen. Das erfolgt dann rekursiv.

MSDN: http://msdn.microsoft.com/de-de/library/fxeahc5f.aspx

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.