Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Переход к следующему контролу


Автор: tatbesidovska 6.7.2009, 10:19
Добрый день. подскажите пожалуйста, как можно реализовать в студии на С# такой момент: при нажатии на Enter курсор переходит  к следующему контролу(т.е на форме несколько TextBox и ComboBox, чтобы по ним был последовательный переход), заранее спасибо

Автор: DVariuS 6.7.2009, 11:46
tatbesidovska, кидаешь текстбоксы на панель, ставишь для всех один обработчик события KeyDown, и пишешь туда примерно такой код:
Код

private void textBoxes_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                e.SuppressKeyPress = true;
                this.panel1.SelectNextControl((Control)sender, true, true, false, false);
            }
        } 


P.S. Такие вопросы нужно задавать в ветке http://forum.vingrad.ru/forum/dotnet-winforms-csharp.html  smile 

Автор: tatbesidovska 6.7.2009, 13:58
Сделала все как Вы сказали, теперь по нажатию Enter курсор переходит, но не по порядку. Что это может быть?

Автор: DVariuS 6.7.2009, 14:05
tatbesidovska, при вызове метода я указал для параметра tabStopOnly значение true:
Цитата

tabStopOnly
Type: System.Boolean
true to ignore the controls with the TabStop property set to false; otherwise, false. 

Проверь, чтоб у текстбоксов свойство TabStop было установлено в true, и значения TabIndex соответсвовали необходимому порядку переключения.

Автор: tatbesidovska 6.7.2009, 15:27
Проверила, все соответствует Вашим словам. А может быть проблема из-за того, что TextBox расположены на GroupControl?

Добавлено через 3 минуты и 8 секунд
Табулятором курсор двигается по-порядку

Автор: DVariuS 6.7.2009, 15:32
tatbesidovska, при нажатии на Tab фокус переходит в правильном порядке?

Автор: tatbesidovska 6.7.2009, 15:34
Да

Автор: DVariuS 6.7.2009, 15:45
tatbesidovska, а что это за контрол GroupControl?
И еще, фокус переходит беспорядочно, или просто не в том направлении?

Автор: tatbesidovska 6.7.2009, 15:49
Забыла сказать, что это из DevExpress. А фокус переходит не по-порядку, а перескакивая через несколько TextBoxов

Автор: DVariuS 6.7.2009, 16:45
tatbesidovska, попробуй так:
Код

private void textBoxes_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                e.SuppressKeyPress = true;
                this.groupControl1.SelectNextControl((Control)sender, true, false, false, false);                
            }
        }

У меня работает.

Автор: tatbesidovska 6.7.2009, 17:57
DVariuS, большущее спасибо! У меня все получилось. smile

Добавлено через 4 минуты и 57 секунд
Недавно я задавал вопрос:

Подскажите, пожалуйста! Существует форма, на ней XtraGrid.Как можно реализовать перенос отфильтрованных данных из XtraGrid в текстовый файл,заранее спасибо.


Пример:
Есть база с полями:

ТБН     ФИО         Сумма

1203   Иванов     12000
1402   сидоров    5000

в результате переноса должен получится текстовый файл строчного формата

1203 Иванов 12000
1402 сидоров 5000


и т.д


ВЫ не  знаете случаем как можно это реализовать, буду рада любым предложениям.

Добавлено через 6 минут и 39 секунд
Недавно я задавал вопрос:

Подскажите, пожалуйста! Существует форма, на ней XtraGrid.Как можно реализовать перенос отфильтрованных данных из XtraGrid в текстовый файл,заранее спасибо.


Пример:
Есть база с полями:

ТБН     ФИО         Сумма

1203   Иванов     12000
1402   сидоров    5000

в результате переноса должен получится текстовый файл строчного формата

1203 Иванов 12000
1402 сидоров 5000


и т.д


ВЫ не  знаете случаем как можно это реализовать, буду рада любым предложениям.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)