TextBox i SelectionStart

Odpowiedz Nowy wątek
2010-01-08 21:04
0

Witam wszystkich serdecznie !
Mam pewien problem z TextBox a konkretnie z jego dwiema właściwościami SelectionStart i SelectionLenght.
Najlepiej podam to na przykładzie kodu:

     public class SimpleForm:Form
    {
        private Button button1
        private TextBox userID;

        public SimpleForm()
        {

            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.Opacity = 1;
            this.Size = new Size(430, 480);
            this.StartPosition = FormStartPosition.Manual;
            this.DesktopLocation = new Point(10, 10);
            this.Text = "Ręcznie skonstruowany formularz";

            button1 = new Button();
            button1.Text = "Przycisk";
            button1.Location = new Point(200, 415);
            button1.Click += new EventHandler(OnButton);
            this.Controls.Add(button1);

            userID = new TextBox();
            userID.Multiline = true;
            userID.Size = new Size(400, 400);
            userID.Location = new Point(10,10);
            this.Controls.Add(userID);
        }

        private void OnButton(object sender, EventArgs e)
        {

            userID.SelectionStart = 10;
            userID.SelectionLength = 30;
        }
}

Teoretycznie naciśnięcie przycisku "Przycisk" powinno zaznaczyć wcześniej wklejony tekst do TexBox "userID". A konkretnie od 10 do 30 elementu. Jednak u mnie się nic nie dzieje. Proszę powiedzcie mi co robię nie tak. Z góry dziękuję za udzieloną pomoc.
Pozdrawiam

Pozostało 580 znaków

2010-01-08 23:46
0

Dzieje się tak, ponieważ tracisz focusa na kontrolce. Przykład jak podświetlić tekst pomimo straty focusa:

private void button1_Click(object sender, EventArgs e)
        {
            textBox1.SelectionStart = 5;
            textBox1.SelectionLength = 10;
            textBox1.HideSelection = false;
        }

Pozostało 580 znaków

2010-01-09 00:08
0

Dziękuję Ci bardzo za pomoc. Mam jeszcze prośbę, czy mógłbyś mi bardziej rozjaśnić co mam rozumieć przez "ponieważ tracisz focusa na kontrolce" ? Szukałem w google jakiś informacji o tej metodzie setFocus jednak nie znalazłem dokładnego wyjaśnienia.

Pozostało 580 znaków

2010-01-09 13:16
0

Właściwość Focused.
Kiedy masz np. dwie kontrolki textbox i w jednej zaznaczysz jakiś tekst, przejdziesz do drugiej to zaznaczenie w pierwszej zniknie ponieważ straciła Focus (aktywność). Ustawiając własność którą podałem, zaznaczenie nie zniknie.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0