Avatar billede jamark Praktikant
02. april 2007 - 13:57 Der er 8 kommentarer og
1 løsning

Marker teksten i TextBox'en

Når jeg starter min UserForm med TextBox'e i, kunne jeg godt tænke med, at indholdet af den TextBox, som er aktiv fra start, var markeret, så man ved at trykke på en enkelt tast overskrev det, der stod i forevejen.

Hvordan gør jeg det?
Avatar billede jens_klinting Nybegynder
02. april 2007 - 14:19 #1
Det mener jeg faktisk er defaultopførslen for en TextBox. Hvis jeg har en Form med en TextBox på, og TextBoxen indeholder noget tekst og er først i taborden, så har den selected al teksten.

Men anyway. Man kan få valgt al teksten ved at kalde:

TextBox1.SelectAll()

Og sætte fokus på tekstboksen, så man kan se at det er valgt med:

TextBox1.Focus()

Mvh.
Jens
Avatar billede jamark Praktikant
02. april 2007 - 14:40 #2
Til det får jeg beskeden "Compile error: Expected: =" for begge muligheder

Hele Initialize koden ser sådan ud:

Private Sub UserForm_Initialize()
   
    TbRows.Value = "2"
    TbCol.Value = "2"
    TbRows.SelectAll()
End Sub
Avatar billede jens_klinting Nybegynder
02. april 2007 - 14:45 #3
Argh...my bad.

Jeg sidder jo og svarer på et VB spørgsmål, og tror at det er et VB.NET spørgsmål.

Jeg har desværre ingen idé om, hvordan det fungerer i VB.

Beklager.

:o)
Avatar billede jamark Praktikant
02. april 2007 - 15:06 #4
Jeg burde jo nok også have sagt, at det var et VBA spørgsmål!
Avatar billede kabbak Professor
02. april 2007 - 15:36 #5
Private Sub UserForm_Initialize()
 
    TbRows.Value = "2"
    TbCol.Value = "2"
    TbRows.SelStart = 0
    TbRows.SelLength = Len(TbRows)
 
End Sub
Avatar billede jamark Praktikant
02. april 2007 - 15:55 #6
Det ser umiddelbart ud til at virke, men næste gang jeg kører den, står de senest indtastede værdier der og 'OK' knappen er det aktive kontrolelement.

Kan man gøre, så det altid er TbRows der er den aktive, når man starter programmet og eventielt også så der stå 2 i beggge TextBox'e?
Avatar billede kabbak Professor
02. april 2007 - 17:17 #7
prøv denne i stedet

Private Sub UserForm_Activate()
TbRows.Value = "2"
    TbCol.Value = "2"
    TbRows.SelStart = 0
    TbRows.SelLength = Len(TbRows)
    TbRows.SetFocus
End Sub
Avatar billede jamark Praktikant
02. april 2007 - 19:44 #8
Tak. Det spiller bare 100...

Hvis du smider et svar, får du pointene :o)
Avatar billede kabbak Professor
02. april 2007 - 20:31 #9
et svar ;-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester