Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Location() для TextBox, программная установка координат 
V
    Опции темы
KIRINDORF
Дата 25.3.2011, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: нет
Всего: 1



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

        Dim Boxes() As System.Windows.Forms.TextBox
        Dim Limit As Integer

        Limit = TextBox1.Text 'данные с формы
        Limit -= 1            'количество TextBox'ов, "заказанное" пользователем
        ReDim Boxes(Limit)

        For c As Integer = 0 To Limit
            Dim txtbx As New System.Windows.Forms.TextBox
            With txtbx
                .Name = c
                .Location() = New System.Drawing.Point(txtbx.Location.X, txtbx.Location.Y)
                .Height() = 20
                .Width() = 30
            End With
            Boxes(c) = txtbx 'добавляю поле в массив
            Me.Controls.Add(txtbx)
        Next
Работает великолепно. В режиме отладки показывает созданные поля, помещенные в массив Boxes().
Но на форме отображается только одно текстовое поле, очевидно в нем "скрыты" остальные. Полагаю, проблема в выставлении значения свойства Location() для каждого поля - мои варианты того как это сделать VB.NET не принимает , а как надо я не знаю.

Прошу совет с примером.


PM MAIL   Вверх
diadiavova
Дата 25.3.2011, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(KIRINDORF @  25.3.2011,  12:31 Найти цитируемый пост)
очевидно в нем "скрыты" остальные

Точнее они располагаются друг над другом.

Есть разные варианты, выбор того или иного зависит от задачи, но лучше и проще всего использовать контейнеры. Опять таки в зависимости от задачи используй либо TableLayoutPanel, либо FlowLayoutPanel.

С помощью первого можно расположить контролы как бы по ячейкам таблицы, а с помощью второго - они будут добавляться пока хватает места, после чего будет заполняться следующая строка(или столбец, в зависимости от настроек).


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
KIRINDORF
Дата 25.3.2011, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 11.2.2011

Репутация: нет
Всего: 1



Sorry.

Уже разобрался!

Всем огромный thanks.

Особая благодарность diadiavova. Ваш совет расширил мои скудные познания VB - обязательно его учту.

Это сообщение отредактировал(а) KIRINDORF - 25.3.2011, 13:01
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0603 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.