String w1 ="Sarat";
String w2 ="Sarat";
String w3 = new String("Sarat");
System.out.println(w1.hashCode()); //3254818
System.out.println(w2.hashCode()); //3254818
System.out.println(w3.hashCode()); //3254818
System.out.println(System.identityHashCode(w1)); //prints 705927765
System.out.println(System.identityHashCode(w2)); //prints 705927765
System.out.println(System.identityHashCode(w3)); //prints 366712642
if(w1==w2) // (705927765==705927765)
{
System.out.println("true");
}
else
{
System.out.println("false");
}
//prints true
if(w2==w3) // (705927765==366712642)
{
System.out.println("true");
}
else
{
System.out.println("false");
}
//prints false
if(w2.equals(w3)) // (Content of 705927765== Content of 366712642)
{
System.out.println("true");
}
else
{
System.out.println("false");
}
//prints true
Как правило я сказал бы, что переопределение стандартного поведения клавиши TAB будет плохой идеей. Возможно, можно сделать что-то как отключение 3-го текстового поля, пока действительный доступ не сделан в 2-м текстовом поле.
Теперь, сказав это, я также нарушил это правило по требованию клиента. Мы сделали функцию клавиши Enter как клавиша Tab, где клавиша Enter сохранит значение в текстовом поле и усовершенствует курсор к следующему полю.
Я соглашаюсь с DannySmurf. Питание с порядком вкладки могло бы дать Вам ад позже если требования для изменения приложений.
Другая вещь, которую Вы могли сделать, состоит в том, чтобы реализовать некоторый мастер для пользователя для прохождения через.
Причина этого нечетного поведения вкладки - все о скорости во входном процессе. Было действительно хорошо получить некоторый вход, я не думал об отключении текстового поля, но это могло на самом деле работать. Но использование клавиши Enter для принятия входа даже не пришло в мою голову. Это будет работать настолько лучше. Пользователь может ввести номера и затем нажать Enter для принятия входа, и следующее возможное текстовое поле будет активным. Это похоже на наличие пирога и еду его также, фактор скорости там, с тех пор, не используя клавишу Enter никакой ненужный Табинг не должен быть сделан для получения до корректного поля, и использование клавиши Enter рядом с числовой клавиатурой заставляет его действительно сглаживать.
Спасибо за вход!
Я не думаю, что существует встроенный способ, которым Вы могли сделать это. Все события фокуса WinForms (GotFocus, LostFocus, Входят, Отпуск) называют с пустыми параметрами EventArgs, которые не дадут Вам дополнительной информации.
Лично, я отключил бы третье текстовое поле, как сказал Rob Thomas. Если бы Вы полны решимости сделать это, тем не менее, не было бы трудно настроить руководство (чтение: hackish) решение. После того как клавиша Tab нажимается (если фокус находится на втором текстовом поле), установите переменную в своей форме. Если следующий сфокусированный объект является затем третьим текстовым полем, то Вы знаете точно, как это произошло.
Лучше, чем отключение средств управления, попробуйте monkeying вокруг TabStop - если это будет ложью, то управление будет просто пропущено при переключении вкладок.
Я также предположил бы, что событие Changed TextBox является местом для обновления TabStop на других средствах управления.
Я сделал что-то подобное этому с управлением входом в систему, где пользователи могли ввести или имя пользователя или адрес электронной почты (в отдельных полях) плюс их пароль, и позиция табуляции - то, что я раньше делал задание.