Мне нужно убрать фокус с нескольких текстовых полей. Я пробовал использовать:
textBox1.Focused = false;
ReadOnly
Стоимость его собственности составляет true
.
Затем я попытался установить фокус на форме, чтобы удалить ее из всех текстовых полей, но это также не сработало:
this.Focus();
и функция возвращается false
при выборе текстового поля.
Итак, как мне удалить фокус с TextBox?
У меня не получилось сосредоточиться на лейбле, делать что-то вроде того,
label1.Focus()
правильно? текстовое поле по-прежнему имеет фокус при загрузке формы, однако попытка ответа Velociraptors сработала для меня, установив для элемента управления Form Active метку следующим образом:источник
this.ActiveControl = panelOnMyForm;
Вы можете добавить следующий код:
источник
Попробуйте отключить и включить текстовое поле.
источник
textBox1.Enabled = false;
отключит ваше текстовое поле. и установка для негоtrue
снова включит его.Вы также можете установить
activecontrol
свойство формnull
как нравитсяисточник
Focus
устанавливает фокус ввода, поэтому установка его на форму не будет работать, потому что формы не принимают ввод. Попробуйте установитьActiveControl
свойство формы для другого элемента управления. Вы также можете использоватьSelect
для выбора определенного элемента управления илиSelectNextControl
для выбора следующего элемента управления в порядке табуляции.источник
Select()
работал у меня.Попробуй это:
Сначала настройте порядок табуляции.
Затем в событии загрузки формы мы можем программно отправить нажатие клавиши табуляции в приложение. Таким образом, это приложение будет уделять внимание первому элементу управления в порядке табуляции.
в загрузке формы даже напишите эту строку.
Это сработало для меня.
источник
Этот пост привел меня к следующему:
Это позволяет мне захватывать весь ввод с клавиатуры на верхнем уровне без того, чтобы другие элементы управления сходили с ума.
источник
Я нашел хорошую альтернативу! Для меня это работает лучше всего, не зацикливаясь на чем-то другом.
Попробуй это:
источник
Я сделал это в своем настраиваемом элементе управления, я сделал это onFocus ()
Итак, если в фокусе находится текстовое поле - он мгновенно фокусирует родительское текстовое поле (форма или панель ...). Это хороший вариант, если вы хотите сделать это в настраиваемом элементе управления.
источник
Похоже, мне не нужно ставить фокус на какие-то другие элементы. В приложении Windows Phone 7 я использовал метод Focus, чтобы отключить фокус текстового поля.
Выполнение следующей команды приведет к отсутствию фокуса:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus.aspx
У меня это сработало, но я не знаю, почему не сработало у вас: /
источник
Простым решением было бы убить фокус, просто создайте свой собственный класс:
источник
источник
Я обхожу это тем, что размещаю все элементы управления winform. Я делаю все ярлыки и не выбирающие элементы управления winform как порядок табуляции 0, затем мой первый элемент управления как порядок табуляции 2, а затем увеличиваю порядок каждого выбираемого элемента управления на 1, поэтому 3, 4, 5 и т. Д.
Таким образом, когда мои Winforms запускаются, первый TextBox не имеет фокуса!
источник
вы можете сделать это двумя способами
перетащите два текстовых поля
источник
Если все, что вам нужно, это оптический эффект, что текстовое поле не имеет синего выделения по всему содержимому, просто не выделяйте текст:
После этого при добавлении содержимого с помощью
.Text += "..."
синего выделения отображаться не будет.источник
Пожалуйста, попробуйте установить
TabStop
наFalse
вашего контроля зрения , которая не является быть сосредоточенным.Например:
источник
В конструкторе Form или UserControl, содержащем TextBox, напишите
После InitializeComponent (); Источник: https://stackoverflow.com/a/4811938/5750078
Пример:
источник