Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 49
1
.NET 4.x

Подогнать размер TextBox под размер текста

23.10.2016, 18:19. Показов 3975. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Есть проблема. У меня получается только фиксированный размер TextBox, мне нужно чтобы он принимал размер текста.
Загружаю текст из БД так:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  Dim d As Integer
        Dim i1 As Integer = 0
        For i = 1 To DGVZadan.RowCount.ToString() - 1
            If dt.Rows(i1).Item(1) = "1" Then
                Dim NTXT As String = dt.Rows(i1).Item(0)
                Dim TextB As New TextBox With {.Top = d, .Left = 1, .Multiline = True, .Size = New Size(200, 90), .BackColor = Color.Red, .Text = NTXT, .BorderStyle = BorderStyle.None}
                d = d + 91
                Me.Controls.Add(TextB)
            End If
            i1 = i1 + 1
        Next
        Dim i2 As Integer = 0
        For i3 = 1 To DGVZadan.RowCount.ToString - 1
            If dt.Rows(i2).Item(1) = "2" Then
                Dim NTXT As String = dt.Rows(i2).Item(0)
                Dim TextB As New TextBox With {.Top = d, .Left = 1, .Multiline = True, .Size = New Size(200, 90), .BackColor = Color.Green, .Text = NTXT, .BorderStyle = BorderStyle.None}
                d = d + 91
                Me.Controls.Add(TextB)
            End If
            i2 = i2 + 1
        Next
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2016, 18:19
Ответы с готовыми решениями:

Как подогнать картинку под размер WebBrowser'а?
Подскажите... как заcтавить компонент WebBrowser отображать картинку целиком а не ее часть с...

Подогнать размеры фона под размер формы
извините, но не нашел отдел для начинающим. расположил на форме рисунок(jpg) при изменении размера...

Менять размер текста в TextBox
2) Есть какое-то поле для ввода текста (TextBox1), есть ещё один TextBox2, при введение в...

Подогнать размер TextBox под ширину находящегося в нем текста
Здравствуйте! Как изменять размер textBox в зависимости от того какой длинны в нем надпись? А...

5
27 / 27 / 8
Регистрация: 30.04.2012
Сообщений: 96
23.10.2016, 20:33 2
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Private Sub TextBox1_TextChanged(sender As TextBox, e As EventArgs) Handles TextBox1.TextChanged
        ' определяем самую длинную строку
        If sender.Text <> "" Then
            Dim strLongest As String = ""       'хранит текст самой длинной строки
            For i As Integer = 0 To sender.Lines.Length - 1
                If Len(strLongest) < Len(sender.Lines(i)) Then
                    strLongest = sender.Lines(i)
                End If
            Next i
 
            ' устанавливаем ширину TextBox1 по длине самой длинной строки
            Using ee As Graphics = sender.CreateGraphics()
                TextBox1.Width = CInt(ee.MeasureString(strLongest, TextBox1.Font).Width)
            End Using
        End If
    End Sub
0
4651 / 3608 / 854
Регистрация: 02.02.2013
Сообщений: 3,487
Записей в блоге: 2
23.10.2016, 20:47 3
Можно так
VB.NET
1
2
3
4
5
6
7
8
9
10
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
    Dim txt As String = "Перечисление коллекции не является процедурой, безопасной для использования в многопоточных программах. Даже если коллекция синхронизирована, другие потоки могут ее изменить, что приведет к тому, что перечислитель сгенерирует исключение."
    With TextBox3
        .WordWrap = True
        .MaximumSize = New Size(.Width, 600)
        .Text = txt
        Dim sz As Size = .GetPreferredSize(New Size(.Width, 0))
        .Size = sz
    End With
End Sub
Замечание: естественно установлено TextBox3.Multiline = True
Изображения
  
1
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 49
24.10.2016, 21:08  [ТС] 4
ovva, Спасибо, работает. Но как мне засунуть эту вещь в мой код. У меня на форме отображаются текстбоксы поочередно сначала те которые =1 в БД потом, =2 в БД. При использовании Вашего кода у меня между гими получаются промежутки. Надо чтобы они шли др. за другом.
0
307 / 248 / 40
Регистрация: 28.09.2013
Сообщений: 600
24.10.2016, 21:21 5
Попробуйте элемент управления FlowLAyoutPanel
0
4651 / 3608 / 854
Регистрация: 02.02.2013
Сообщений: 3,487
Записей в блоге: 2
24.10.2016, 21:49 6
alle380, можно воспользоваться советом Winney, но я не вижу проблем и с определением положения второго TextBox.
VB.NET
1
2
3
4
5
6
7
With TextBox3
    …
End With
TextBox4.Location = New Point(TextBox3.Location.X, TextBox3.Location.Y + TextBox3.Bounds.Height + 5)
With TextBox4
…
End With
Изображения
  
1
24.10.2016, 21:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2016, 21:49
Помогаю со студенческими работами здесь

Подогнать размер текста под прямоугольник
Рисую и печатаю текст на канве. Имеется прямоугольник с заданными размерами в пикселях (например,...

Можно ли подогнать размер браузера под размер фонового изображения
Здравствуйте! Подскажите как сделать, чтоб фоновое изображение подходило по ширине к ширине окна...

Подогнать размер изображения под размер PictureBox
Как изменить размер изображения при открытии? А то когда я добавляю в пикчер бокс, они обычно...

Подогнать размер картинки под размер формы
Здравствуйте! Я накладываю изображение на форму, но я столкнулся с проблемой. Мой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru