Autor Beitrag
HaShLo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26


Flash,Visual Basic,
BeitragVerfasst: Fr 11.04.08 16:39 
Hi Leute !!!

Ich brauche einmal die Methode für den Eingabefeld, also so ein Feld wie MessageBox.Show

nur halt dass man da was eingeben kann , also sowas wie bei Visual Basic der InputBox...

gibt es so eine Methode bei C# , wenn ja bitte ich euch es mir mal einmal zu verraten ;)

THX Schonmal ;) !!!


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Fr 11.04.2008 um 16:48

_________________
ProGrammer Of The FuTure......HaShLo BuRn
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 11.04.08 18:11 
Eine InputBox gibt es unter C# bzw. NET nicht. Dazu musst Du Dir selbst ein eigenes Formular basteln. Aber es gibt kaum eine einfachere Übung für "Kommunikation zwischen zwei Formularen" und "Eingabeprüfungen".

Wenn Du keine Lust für eine eigene Lösung hast, findest Du unter CodeProject oder sonstwo im Netz vermutlich 1000 andere Lösungen. Jürgen
HaShLo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26


Flash,Visual Basic,
BeitragVerfasst: Fr 11.04.08 21:02 
Danke schön Jürgen damit wäre auch meine Frage beantwortet ;). Also sowas gibt es bei C# nicht, dass heißt eigenes Formular erstellen .... ok , verstanden thxx :D

_________________
ProGrammer Of The FuTure......HaShLo BuRn
Xardas008
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Fr 11.04.08 22:21 
Hallo Hashlo,

das ganze ist einfach. Du bastelst dir das Formular welches du haben willst (diese InputBox), wie von Jürgen bereits geschrieben.

Auf dieses Formular baust du 2 Buttons (einer für Ok, einer für Abbrechen).
Der OK-Button erhält die Eigenschaft DialogResult = OK (kannst du über das Visual Studio einstellen wie z.B. auch die Beschriftung eines Buttons etc.)
Der Abbrechen-Button DialogResult = Cancel.
Alle Eingabefelder (gilt auch für Optionsfelder etc.), die du später im "Hauptformular" (das von wo du das aufrufst halt) auswerten willst, musst du als public deklarieren (Eigenschaft Zugriffsmodifizierer steht Standardmäßig auf private).

In der Form, wo du diese Box aufrufen willst, machst du folgendes: Im Klick-Ereignis folgender Code:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
Form2 dialog = new Form2();
//Modales Fenster, sprich erst Eingabe im Dialogfenster dann weiter im Hauptfenster
if (Form2.ShowDialog() == DialogResult.Ok)
{
  edt_test.Text = dialog.edt_Test2.Text;
}

Form2 ist hierbei dein neues Formular. edt_test ist einfach nur ein Eingabefeld wo ich einen Text reinhaben möchte den ich im Dialogfenster eingegeben habe, dient zum demonstrieren des ganzen.

Du kannst auch Form2.Show() nehmen statt ShowDialog, der unterschied liegt darin, dass du bei ShowDialog als Anwender erst im Dialogfenster deine Eingabe tätigen musst bevor du weiterarbeiten kannst, das ganze ist aber geschmackssache, oder was halt gebraucht wird.

Das ist im Prinzip alles. Bei weiteren Fragen trau dich ruhig.

Hoffe das hilft dir weiter.

Gruß
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 11.04.08 22:26 
user profile iconXardas008 hat folgendes geschrieben:
Alle Eingabefelder (gilt auch für Optionsfelder etc.), die du später im "Hauptformular" (das von wo du das aufrufst halt) auswerten willst, musst du als public deklarieren

Nope. Du machst eine Read-Only-Property, welche den Inhalt der Textbox zurückgibt.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
public class Form2 : Form
{
    public InputText {
        get {
             return edt_test2.Text;
        }
    }
}

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
Form2 dialog = new Form2();
//Modales Fenster, sprich erst Eingabe im Dialogfenster dann weiter im Hauptfenster
if (Form2.ShowDialog() == DialogResult.Ok)
{
  edt_test.Text = dialog.InputText;
}

Ansonsten verletzte Du die Kapselung, welche der größte Vorteil der objekt-orientierten Programmierung ist. Die Hauptform "geht es nichts an", wie der Inputtext zu Stande kommt und erst recht braucht sie keinen Zugriff auf alle Eigenschaften der Textbox.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 12.04.08 11:09 
user profile iconJüTho hat folgendes geschrieben:
Aber es gibt kaum eine einfachere Übung für "Kommunikation zwischen zwei Formularen" und "Eingabeprüfungen".

user profile iconXardas008 hat folgendes geschrieben:
das ganze ist einfach. Du bastelst dir das Formular welches du haben willst (diese InputBox),

Entschuldige, Xardas008, aber das gefällt mir ganz und gar nicht. Es ist zwar schön, dass Du Dir das mit Deinen eigenen Erfahrungen inzwischen zutraust (sofern Du Christians Einwände berücksichtigst). Aber wenn Hashlo das als Übung selbst machen will, dann solltest Du ihm das vollständig überlassen und nicht die ganzen Einzelheiten vorsetzen. Jürgen
HaShLo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26


Flash,Visual Basic,
BeitragVerfasst: Di 15.04.08 15:02 
ja danke schön leute für eure Bemühungen , ich habs es jetzt hingekriegt mit der Eingabefeld ;) thxxx

_________________
ProGrammer Of The FuTure......HaShLo BuRn