Wusste leider nicht wohin ich das nun schreiben sollte.
Also ich weiß es geht.
Ich hab ne KonsolenAnwendung und will auch nur noch eine Form öffnen beim Start.
Wie geht das? gibts da irgendwelche Link hab zwar in Google gesucht aber nichts gefunden was annähernd nach Hilfe aussieht 🙁
mfg keving
Genau die beiden die du in deiner Überschrift gewählt hast... 😁
Gruß David
Ich hab es nun so gemacht:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Aber wenn die Form dann aufgeht kann ich nix mehr eintippen in die Konsole weder noch spuckt der GameServer mehr Informationen in der Konsole aus 🙁
Gibt es eine möglichkeit es so zu machen das er nur ganz normal die Form öffnet oder das etwas anderes pausiert oder stoptt?
mfg keving
Ich nehme mal an weil der Mainthread dann mit der Form beschäftigt ist bzw. mit dem Abfragen der Eventschleife.
Gruß David
Hallo keving,
du musst erst eine Instanz der Form erstellen und dann kann man mittels der Methode Show
oder ShowDialog
die Form anzeigen lassen. Hier ein Beispiel:
Form1 frm1 = new Form1();
frm1.ShowDialog();
Vergiss nicht Form1
mit dem Namen der Form zu ersetzen!
Hallo DavidT,
Ich nehme mal an weil der Mainthread dann mit der Form beschäftigt ist bzw. mit dem Abfragen der Eventschleife.
bist du dir sicher? Ich glaube da liegst du falsch.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Ich sagte ich glaube... Normal sollte der Mainthread doch dann in der form verweilen und keine anfragen mehr in der console mehr bearbeiten.
Gruß David
bist du dir sicher? Ich glaube da liegst du falsch.
Ja, jetzt bin ich mir sicher, so funktionierts:
using System;
using System.Threading;
using System.Windows.Forms;
namespace ConsoleUndForm
{
class Program
{
static Thread _thread;
static void Main(string[] args)
{
_thread = new Thread(new ParameterizedThreadStart(FormStart));
_thread.Start();
Console.WriteLine("Irgendwas eingeben");
Console.ReadKey();
string vari = Console.ReadLine();
Console.WriteLine("Sie haben "+vari+" eingegeben");
Console.ReadKey();
}
static void FormStart(object param)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Einfach in einem eigenen Thread starten.
Edit: ShowDialog kann schon gar nicht funktionieren, da der Grundgedanke dahinter ist, das aufrufende Element so lange zu sperren, bis der Diaalog beendet ist.
Gruß David