Как программно выделить весь текст элемента управления TextBox (Compact .NET 2.0) - PullRequest
0 голосов
/ 15 мая 2010

Я хочу выделить весь текст элемента управления System.Windows.Forms.TextBox () в событии GotFocus, но во всех найденных примерах используются свойства элемента управления .SelectionStart / .SelectionEnd, и они не отображаются. недоступно в .NET 2.0 Framework.

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace xCustomControls
{
    public partial class xTextBox : System.Windows.Forms.TextBox
    {
        public xTextBox()
        {
            InitializeComponent();
            this.GotFocus += new System.EventHandler(this.GotFocusHandler);
        }

        private void GotFocusHandler(object sender, EventArgs e)
        {
            Control ctrl = (Control)sender;
            ctrl.BackColor = Color.Cyan;
            ctrl.SelectionStart = 0;
        }

Ошибка:

'System.Windows.Forms.Control' не содержит определения для «SelectionStart», и не найден метод расширения «SelectionStart», принимающий первый аргумент типа «System.Windows.Forms.Control» (вы пропустили директива об использовании или ссылка на сборку?)

Есть идеи?

ТИА, Pablo

1 Ответ

2 голосов
/ 15 мая 2010

Заменить строку

Control ctrl = (Control)sender;

с

TextBox ctrl = (TextBox)sender;

Компилятор считает, что вы работаете с классом Control, у которого нет SelectionStart, но ваш объект действительно является производным от TextBox , который имеет.

...