Zum Inhalt springen

[C#] Textbox - Funktion bei ENTER


Whatever

Empfohlene Beiträge

Kurz und schmerzlos:

Ich habe eine Textbox. Sobald sich der Cursor in dieser Textbox befindet und "Enter" gedrückt wird, soll etwas passieren.

Wie stelle ich das an?

/: Achja, und nochwas (etwas komplizierter).

Ich möchte einem Standard-Form die komplette Titelleiste entfernen (FormBorderStyle = None), es allerdings weiterhin bewegen können (indem ich irgendwo in das Form klicke und es dann woanders hinziehe).

Wie mache ich das?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Ich habe eine Textbox. Sobald sich der Cursor in dieser Textbox befindet und "Enter" gedrückt wird, soll etwas passieren.

Wie stelle ich das an?

Es muss als erstes mal ein "KeyPress" event angelegt werden:


this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(keyPress);

Und eine Funktion in der Definiert wird was passiert wen eine Taste getrückt wird:

private void keyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)

{

if (e.KeyChar == (char)13)

{

// Enter gedrückt ...

}

}

Ich möchte einem Standard-Form die komplette Titelleiste entfernen (FormBorderStyle = None), es allerdings weiterhin bewegen können (indem ich irgendwo in das Form klicke und es dann woanders hinziehe).

Wie mache ich das?

Es gibt ein Event das nen Mausklick abfängt, da durch kann die Position durch die Form-Eigenschaften verändert werden. Leider habe ich hier gerade kein Beispiel dafür, da ich im moment kein windows gebootet habe. ;)

Gruß

Johannes

Link zu diesem Kommentar
Auf anderen Seiten teilen

So, das mit dem Enter Funktioniert jetzt (allerdings mit nicht mit KeyPress, sondern mit KeyDown).

Das mit dem bewegen klappt auch schon rudimentär. Ich gehe dabei so vor:

- bei Mausdown var auf true

- bei Mouseup var auf false

- bei Mausmove (wenn var = true):

- - Mausbewegung = Mauspostion - alte Mausposition

- - Fensterposition = Fensterposition + Mausbewegung

- - alte Mausposition = aktuelle Mausposition

Das ganze ist allerdings sehr Hakelih...gibts da nix schöneres? :/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja. Überlasse es Windows. Wie habe ich bereits geschrieben (auf WM_NCHITTEST entsprechend reagieren, wenn sich die Mausposition grade in einem Bereich befindet, den Du als "Titelleiste" interpretiert haben willst).

Okay, damit und ein bischen Googlework hab ich einen entsprechen Snippet gefunden:

 protected override void WndProc(ref Message m)

{

 const int WmNcHitTest = 0x0084;

 const int HtCaption  = 2;


 if(m.Msg==WmNcHitTest)

 {

  if(ClientRectangle.Contains(PointToClient(Cursor.Position)))

  {

   m.Result=(IntPtr)HtCaption;

   return;

  }

 }

 base.WndProc (ref m);

} 

http://groups.google.de/group/microsoft.public.dotnet.framework.windowsforms/msg/aae9a3007b682cdb

Damit gehts wunderbar, dankeschön :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...