shaileshshinde Ответов: 0

Показывать построчно вместо нескольких строк в flowlayoutpanel с помощью динамического созданного текстового поля


1)первый запрос: Как загрузить строку за строкой текстового файла, когда используется клавиатура со стрелками вверх и вниз


2)второй запрос: как подняться в динамическом созданном текстовом поле, нажав на клавиатуре стрелку вверх и вниз

Что я уже пробовал:

Публичный Класс Form2


Частная суб openbtn_Click(отправителя как объект, а равно EventArgs) обрабатывает элемент button2.Нажмите
- ПЕРВЫЙ МЕТОД РАБОТЫ
If (OpenFileDialog1.ShowDialog = DialogResult.Хорошо) тогда
TextBox1.Text = OpenFileDialog1.имя файла

Конец, Если

1)первый запрос: Как загрузить строку за строкой текстового файла, когда используется клавиатура со стрелками вверх и вниз

Для каждого ln в IO.File.ReadLines(OpenFileDialog1.имя файла)
Dim tb как новое текстовое поле с {.Width = FlowLayoutPanel1.Ширина - 2, .Multiline = False, .Text = ln}
Добавитьобработчик ТБ.Вниз, Оператором Addressof TextBox_KeyDown
Добавитьобработчик ТБ.Клавиша Вверх, Оператором Addressof TextBox_KeyUp
FlowLayoutPanel1.Управления.Добавить(ТБ)
tb.Margin = новое заполнение(15, 15, 15, 15)

Следующий



Конец Подводной Лодки

Private Sub TextBox_KeyDown(отправитель как объект, e Как KeyEventArgs)
Если (электронная.KeyData = Ключи.PageDown), То
е.Обработано = Истина
Отправить ключи.Отправить("{Tab}")
Конец, Если
Конец Подводной Лодки

2)второй запрос: как подняться в динамическом созданном текстовом поле, нажав на клавиатуре стрелку вверх и вниз

Private Sub TextBox_KeyUp(отправитель как объект, e Как KeyEventArgs)
Если (электронная.KeyData = Ключи.PageUp), То
е.Обработано = Истина
Отправить ключи.Отправить("{Tab}")
Конец, Если
Конец Подводной Лодки

End Класса

Richard MacCutchan

Если вы установите Multiline=true, то текстовое поле будет выполнять всю прокрутку автоматически.

shaileshshinde

Извините, что забыл упомянуть.

Мне нужна строка за строкой в разных текстовых полях одна за другой.

Если первая строка отображается на первом текстовом поле, то другие текстовые поля должны быть скрыты, а когда клавиша вниз на 2-й строке, то 1-я и другие строки должны быть скрыты.и тот же процесс для всех представлений текстового поля.

Теперь мне удалось разделить все строки текстового файла в разных текстовых полях из приведенного выше кода.

Richard MacCutchan

Извините, но я не могу точно понять, что вы пытаетесь сделать.

shaileshshinde

Хорошо.
Существует n строк текстового файла.

Теперь из приведенного выше кода мне удалось разделить все строки в разных текстовых полях одновременно.(означает, что все линии видны одновременно)

Но то, что я хочу, это когда файл загружен, то первая строка видна, и когда я нажимаю стрелку клавиатуры вниз, то только второе текстовое поле должно быть видно, а другие текстовые поля должны быть скрыты.

Надеюсь, теперь вы поняли мое беспокойство ?

Richard MacCutchan

Хорошо, тогда вы должны создать массив ссылок на текстовые поля. Начните с первого видимого и всех остальных невидимых. Каждый раз, когда вы получаете событие клавиатуры со стрелкой вниз, скройте текущее видимое текстовое поле и покажите следующее.

shaileshshinde

У вас есть какой-нибудь пример кода для этого ?
Потому что сейчас у меня нет никакой идеи для его реализации.
Вы можете помочь с кодом ?

Richard MacCutchan

Create a collection of TextBox types; a List<T>> should work. Read the lines from the file one at a time. For each line: create a new TextBox which has the next line of text. Add it to the collection. Repeat for all other lines. Now go through the collection adding each TextBox to your form window, but set visibility to false. Also set the keyboard event handler to the same method. Get the reference to the first textbox and set visibility to true. Now each time the event handler is activiated you just need to check if it is the down key. If it is then set the current TextBox visibility false, and the next one true. Remember to add checks for the last TextBox in the list.

shaileshshinde

Есть примеры кода ?
Потому что я новичок в этом деле. VB.net поэтому я не могу закодировать вашу упомянутую логику.

Richard MacCutchan

Если вы новичок в этом деле VB.NET тогда я предлагаю вам потратить больше времени на учебные пособия и более простые проекты.

shaileshshinde

Дружище.любые предложения, которые вы мне дали, написаны мной только в разделе запросов.
Просто вы снова говорите мне то же самое, формулируя предложение.
Так что,если вы можете помочь с логическим кодом, то, пожалуйста, сделайте все необходимое или же, пожалуйста, не утруждайте себя.
Спасибо

Richard MacCutchan

О чем ты говоришь? Я дал вам полную логику, необходимую для реализации ваших требований.

shaileshshinde

Пожалуйста, не придавайте этому значения.
Мне нужна реализация так как я реализовал много логик но все же я не получаю правильного решения которое мне нужно

Richard MacCutchan

Это ваша работа. Этот сайт здесь не для того, чтобы делать вашу работу за вас.

shaileshshinde

Этот сайт предназначен для того, чтобы помочь кодерам с примерным кодированием, а не просто говорить бла-бла-бла .

Richard MacCutchan

Нет, этот сайт должен помогать людям с кодом, который они пишут, а не писать его для них. Если вы хотите, чтобы кто-то другой делал вашу работу, то я боюсь, что вы пришли не в то место.

Richard MacCutchan

И я только что обнаружил, что все это было объяснено вам почти два года назад в https://www.codeproject.com/Questions/1247463/Display-image-file-and-textfile-on-one-click-in-li[^Поэтому я удивляюсь, как вы все еще новичок в этом деле. VB.NET после стольких лет.

shaileshshinde

Ача.вы в то время тоже делали то же самое, просто подсказали мне мою собственную логику в ваших словах.
То, что вы делаете это прямо сейчас, тоже самое.
Послушайте, чувак, dotnet очень обширен, и не у всех есть решение для всех запросов.вот почему я не получаю решение для своего запроса.и вы также не можете дать решение, так как вы не получаете только запрос и просто повторяете мое решение только своими словами

Richard MacCutchan

Как бы то ни было!

0 Ответов