Autor Beitrag
DeiDextra
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 01.02.13 10:53 
Hallo zusammen,

Ich programmier grade mein erstes Projekt mit C# und hab dazu ne kleine Frage. Vorweg sei gesagt, dass ich das Problem mit Delphi schon gelöst hatte, aber in C# komm ich da irgendwie nicht weiter.

Ich haben ein Formular gebaut, dass über mehrere Textboxen verfügt, in denen Der Benutzer Angeben machen soll. Die Eingabe muss per Touchscreen erfolgen. D.h. der Benutzer hat keine Tastatur zur Verfügung.

Um das zu realisieren, habe ich Buttons mit Zahlen und Buchstaben auf dem Formular platziert.

Was jetzt passieren soll ist, dass man eine Textbox auswählt und darauf klickt. Dannach soll man die Zahlen und Buchstaben mit den Buttons eingeben können. Außerdem soll es keine vorgegebene Reihenfolge geben. Gemeint ist, dass der Nutzer sich die Felder aussuchen kann, in denen er was reinschreibt, oder gegebenefalls während der Eingabe das Feld wechseln kann.

In Delphi habe ich das über ein temporeres Editfeld gemacht, dass ich dazu extra deklarieren musste. Dann wurde der temporären Varibale die TEdit(Sender) eigenschaft verpasst. und schon gings..

Wie das allerding in C# aussieht, habe ich leider noch nicht rausgefunden.

Ich hoffe ihr könnt mir da weiterhelfen!

Gruß
Torsten
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 01.02.13 11:46 
Zitat:
In Delphi habe ich das über ein temporeres Editfeld gemacht, dass ich dazu extra deklarieren musste. Dann wurde der temporären Varibale die TEdit(Sender) eigenschaft verpasst. und schon gings..


Du meinst du willst im Enter Event der TextBoxen dir die TextBox merken und du benutz immer den gleichen Enter Event für alle Textboxen?
Genauso wie du immer den gleichen Click Event für alle Buttons verwenden möchtest?

Dann

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
private TextBox textBox;

private void textBox_Enter(object sender, EventArgs e)
{
    textBox = sender as TextBox;
}

private void button_Click(object sender, EventArgs e)
{
    Button button = (sender as Button);
    if ((button != null) && (textBox != null))
        textBox.AppendText(button.Text);        
}

Für diesen Beitrag haben gedankt: DeiDextra
DeiDextra Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 01.02.13 12:38 
genau, vereinfacht gesagt, soll das Programm sich merken, welche Textbox ausgewählt wurde, und dann die .Text von den Buttons an der evtl vorhandenen Text in der Textbox anhängen.

Aber irgendwie funktioniert das mit deinem Code nicht so, obwohl ich ,so glaube ich, verstanden hab, wie du vorgehen willst.

Ich versuchs nochmal weiter!

Besten Dank schon mal!
DeiDextra Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 01.02.13 13:01 
Top, die sache läuft.

Ich hatte vergessen die Ereignisse in die Objekteigenschaften zu benennen.

Problem ist jetzt, dass nach einem Buttonklick die Textbox quasi vergessen wird.

hast du dafür vielleicht auch ne Lösung?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 01.02.13 13:33 
Zitat:
Problem ist jetzt, dass nach einem Buttonklick die Textbox quasi vergessen wird.


Das sollte nicht passieren. Hast du den textBox_Enter Event vielleicht auch an Button.Click gehängt oder an andere unbeteiligten Controls die keine textBoxen sind?
DeiDextra Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 01.02.13 13:56 
Jawoll, das wars, hab mich da einmal verklickt! 100% besten Dank dafür!!