[VB.NET] Shift + enter

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 14:15

Saven

Administrator

Topicstarter
Goedenavond GoT'ers,

Ik heb Visual Basic 2008 Express weer even tevoorschijn getoverd, maar ik wil iets doen wat blijkbaar onmogelijk lijkt? Het beste kun je het denk ik vergelijken met het msn text-bericht-balkje.

Ik wil als je op enter drukt, dat er een bepaalde actie wordt uitgevoerd. Maar als je op shift+enter drukt dat hij dan een regel omlaag gaat.

Ik heb gegoogled maar ik kon niet echt nuttige dingen vinden 8)7

Kan iemand mij hier misschien mee helpen? :) Thanks

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Waar? In welk control zit je te werken? WPF of WinForms? Framework versie? Meer info graag ;)

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Verwijderd

Maak je textbox multiline, en check dan in het keypress event of de key een ENTER is.
Als dan de SHIFT key niet ingehouden is, zet je KeyPressEventArgs.Handled naar TRUE, maak je de textbox leeg en voer je de actie uit.

Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 14:15

Saven

Administrator

Topicstarter
Sebazzz schreef op maandag 27 juli 2009 @ 23:13:
Waar? In welk control zit je te werken? WPF of WinForms? Framework versie? Meer info graag ;)
Gewoon window designer :P met een standaard textbox. Volgensmij 3.5
Verwijderd schreef op maandag 27 juli 2009 @ 23:16:
Maak je textbox multiline, en check dan in het keypress event of de key een ENTER is.
Als dan de SHIFT key niet ingehouden is, zet je KeyPressEventArgs.Handled naar TRUE, maak je de textbox leeg en voer je de actie uit.
En hoe controleer ik of shift ingehouden is dan? Dat is mij even het grootste raadsel. :P

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:01
Je kan ook een WinApi gebruiken:GetKeyboardState

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

En hoe controleer ik of shift ingehouden is dan? Dat is mij even het grootste raadsel. :P
http://msdn.microsoft.com...keyeventargs_members.aspx

Acties:
  • 0 Henk 'm!

Verwijderd

[...]

En hoe controleer ik of shift ingehouden is dan? Dat is mij even het grootste raadsel. :P
http://www.techtalkz.com/...rol-shift-alt-status.html

http://www.vb-helper.com/howto_net_mouse_shift.html

Google, mijn vrind. :)

[ Voor 11% gewijzigd door Verwijderd op 27-07-2009 23:27 ]


Acties:
  • 0 Henk 'm!

  • ProperChaos
  • Registratie: December 2007
  • Niet online
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If (e.KeyCode = Keys.Enter) Then
            If (e.KeyCode = Keys.ShiftKey Or e.KeyCode = Keys.Shift) Then
                TextBox1.Text = TextBox1.Text & vbNewLine
            Else
                'zend bericht
                TextBox1.Clear()
            End If
        End If
    End Sub


Zoiets, niet getest ofzo. ;)

EDIT: Even getest, dit lijkt wel te werken:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If (e.KeyCode = Keys.Enter) Then
            If (e.Shift = True) Then
                TextBox1.Text = TextBox1.Text & vbNewLine
                TextBox1.SelectionStart = TextBox1.Text.Length
            Else
                'zend bericht
                TextBox1.Clear()
            End If
            e.SuppressKeyPress = True
        End If
    End Sub

[ Voor 39% gewijzigd door ProperChaos op 27-07-2009 23:30 ]


Acties:
  • 0 Henk 'm!

  • hellfighter87
  • Registratie: Mei 2008
  • Laatst online: 14:22
Maak gewoon een topic report aan voor zoiets wil je?

[ Voor 73% gewijzigd door Creepy op 28-07-2009 10:03 ]


Acties:
  • 0 Henk 'm!

  • Saven
  • Registratie: December 2006
  • Laatst online: 14:15

Saven

Administrator

Topicstarter
Thnx idd :)

Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 23-08 10:45
(ik zou persoonlijk trouwens de keyup-event gebruiken... maar dat is subjectief)

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

gerrymeistah schreef op dinsdag 28 juli 2009 @ 00:37:
(ik zou persoonlijk trouwens de keyup-event gebruiken... maar dat is subjectief)
Waarom? Als hij MSN wilt mimicken dan kan hij beter de keydown gebruiken.

En in de keyUp werkt e.SuppressKeyPress = true niet :)

Going for adventure, lots of sun and a convertible! | GMT-8

Pagina: 1