Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[C#] Textbox - Funktion bei ENTER

Empfohlene Antworten

Veröffentlicht

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?

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

es allerdings weiterhin bewegen können (indem ich irgendwo in das Form klicke und es dann woanders hinziehe).

Wie mache ich das?

Du musst die WM_NCHITTEST Nachricht verarbeiten.

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? :/

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

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).

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 :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.