| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: c#, Tastendruck auf Button umleiten im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi, Also, ich fange gerade an mich in C# einzuarbeiten, und habe zwei kleine Probleme: 1. Ich habe ein ...
![]() |
| | #1 (permalink) |
| Registriert seit: 29.05.05 ![]() Likes: 0 | Anzeige Hi, Also, ich fange gerade an mich in C# einzuarbeiten, und habe zwei kleine Probleme: 1. Ich habe ein Textfeld erstellt und möchte nun, dass, wenn man das Textfeld markiert und "Enter" drückt, sich dann der Inhalt von einem bestimmten Button ausführt. Das ganze muss man scheinbar im "Designquelltext" machen... unter Textbox1 stehen also Definitionen, blabla, und dann müsste sowas ähnliches wie das hier kommen: " this.textBox1.Enter + = new System.Eventhandler(button1_Click);" nur so führt er die Syntax von Button1 schon immer aus, wenn das Feld markiert wird...ich will aber einen simplen Enterdruck haben... 2. Gibt es einen Befehl, derüberprüft, ob in einem Textfeld nur Ziffern stehen, oder kann man das Feld auch so definieren, dass man nur Zahlen/Ziffern eingeben kann? Wäre echt nett, wenn mir jemand helfen könnte... |
| | |
| | #2 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.03 ![]() Likes: 1 | zu 1. *.Enter ist nicht der eventhandler für die enter taste sondern für den fokus des steuerelements. du musst nen KeyDown (oder KeyPress) eventhandler für die textbox erstellen und dann kannst du darin folgendermaßen überprüfen ob enter gedrückt wurde: if(e.KeyCode == Keys.Enter) // funktion aufrufen die die du auch beim button aufrufst zu 2. http://www.thecodeproject.com/cs/mis...oxControls.asp
__________________ http://livehabo.hackerboard.de | http://livebb.sourceforge.net |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 29.05.05 ![]() Likes: 0 | Zu 1. Vielen Dank, es funktioniert jetzt! Zu 2. Irgendwie versteh ich überhaupt nicht, wie das funktionieren soll...ich glaub, ich bin zu doof dazu...wenn ich irgendwann mal besser bin, versuch's ich das zu verstehen... |
| | |
| | #4 (permalink) |
| Registriert seit: 18.07.05 ![]() Likes: 0 | Zu zweiterem: Du kannst doch einfach per try/catch den Fehler abfangen. Ist imho die einfachste Methode (wobei ich die Controls nicht so gut kenne, kann sein, dass es da eine spezielle Funktion / Property für gibt). |
| | |
| | #5 (permalink) |
| Registriert seit: 10.04.08 ![]() Likes: 0 | hallo leute, wie bereits in den ersten beiträge mitgeteilt, versuche ich mir c# beizubringen. ein bisschen funktioniert das auch. nur jetzt habe ich ein problem. ich möchte auf bestehende buttons, wo schon clicks-event funktionieren, jetzt noch key-events hinzufügen. habe mich schon durch foren u büchern gekämpft. hier der zurzeit bestehende code: #region Speichern // Hier wird gespeichert private void button1_Click(object sender, EventArgs e) { btnSave(); } #endregion #region Textbox löschen // Textbox wird leer gemacht private void button2_Click(object sender, EventArgs e) { textBoxInboxes.Text = ""; } #endregion #region Abbrechen private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } #endregion |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 51 | @ daisyking 1. wieso benutzt du denn immer #region? hast du dafür einen bestimmten grund? soweit ich weiß ist das nicht falsch, aber ich bin auch noch am c# lernen und vielleicht lern ich da ja auch gleich noch was ansonsten zu deinem problem: ich nehme mal an, du hast die buttons irgendwo mit einem designer erstellt. normalerweise hast du da die propertys einstellung, wo du z.b. größe, beschriftung... einstellen kannst und auch die events. bei visual studio hast du oben in der propertybox einen button mit einem blitz. darunter ist das versteckt. solltest du eine andere ide verwenden musst du zur not selber gucken. und wenn du das per hand lösen willst (ist spätestens dann nötig, wenn du mal buttons dynamisch erstellst) dann kannst du z.b. in die form.designer.cs gehen (also die von dem entsprechenden form natürlich, und dir mal angucken, wie es dort gemacht ist. du wirst auf jeden fall sowas hier finden: Code: private System.Windows.Forms.Button button1; dann findest du noch: Code: this.button1 = new System.Windows.Forms.Button(); jetzt hast du deinen button nun musst du den noch einstellen (bei mir z.b. so): Code: //
// button1
//
this.button1.Location = new System.Drawing.Point(544, 69);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 19;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click); wenn ich nun in meiner form.cs nachsehe habe ich folgende funktion: Code: private void button1_Click(object sender, EventArgs e)
{
} den eventhandler zum button hinzufügen und die funktion dazu schreiben. das könnte nun so aussehen: Code: this.button1.KeyDown += new System.EventHandler(this.button1_KeyDown); this.button1.KeyPress += new System.EventHandler(this.button1_KeyPress); this.button1.KeyUp += new System.EventHandler(this.button1_KeyUp); wenn du dann noch die funktionen machst sollte es gehen Code: private void button1_KeyDown(object sender, EventArgs e)
{
}
private void button1_KeyPress(object sender, EventArgs e)
{
}
private void button1_KeyUp(object sender, EventArgs e)
{
} da du normalerweise nicht per hand im designer rumhantieren sollst, da dir das meist wieder überschrieben wird, machst du das einfach an einer geeigneten stelle in der form.cs (z.b. beim form_load oder so) ich denke mal, das sollte dein problem beheben |
| | |
| | #7 (permalink) |
| Registriert seit: 10.04.08 ![]() Likes: 0 | danke für die hilfe u info. werde es sofort angehen. u wenn alles hinhaut, ist ein meilenstein vollbracht. falls noch fragen sind werd ich mich melden. nochmals danke. gruss daisyking ps: das #region mache ich nur damit ich so ne kleine übersicht habe, weil ich diese sonst verliere. dies dient eigentlich nur dazu da, um abgearbeitete sachen zu schließen -------------------------------------------------------- morgen, leider funktioniert es immer noch noch. mal ne frage: wie sollten den die funktionen in den einzelnen methoden genau aussehen? hab ehrlich gesagt kein plan mehr. denke mal wieder zu kopmliziert meinst du das so inetwa, mit der funktion? private void button1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { MessageBox.Show("Buh"); } } |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Mit Python Tastendruck unter Windows erkennen | gugugs | Code Kitchen | 5 | 18.04.09 00:16 |
| Sound umleiten? | Mechanius | Linux/UNIX | 4 | 04.03.08 18:45 |
| Tastendruck simulieren: Zugriff verweigert | Gargamel27 | Code Kitchen | 9 | 28.11.07 10:23 |
| Tastendruck über Hook simulieren | Gargamel27 | Code Kitchen | 1 | 21.11.07 22:15 |
| Delphi - Anweisung pro Tastendruck nur einmal | Crack | Code Kitchen | 4 | 21.03.06 11:16 |