Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic .NET

Войти
Регистрация
Восстановить пароль
 
Guman000
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 3
#1

Матрица из TextBox. Реализовать изменение размерности TrackBar'om - Visual Basic .NET/.NET 4.x

13.01.2014, 20:00. Просмотров 413. Ответов 3
Метки нет (Все метки)

Добрый день.
Пытаюсь сделать создание / изменение размера матрицы из textbox с помощью 2 trackbar
Создать получается, но с удаление лишних textbox, при перемещении trackbar в обратную сторону, textbox не удаляются.
Для примера, пытался удалить 1 textbox tb1(1,1).
Прошу помощи.
Код:

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Public Class Form1
    Dim tb1(,) As TextBox
    Dim i, j As Integer
    Dim counter1 As Integer = 0
    Private Sub TrackBar1_Scroll(sender As Object, e As EventArgs) Handles TrackBar1.Scroll
        Dim n As Integer
        Dim m As Integer
        Dim dx As Integer = 0
        Dim dy As Integer = 0
        'Dim counter1 As Integer = 0
        n = CInt(TrackBar1.Value)
        m = CInt(TrackBar2.Value)
        'If tb1 Is Nothing Then
        '    ReDim tb1(n, m)
        'End If
        ReDim tb1(n, m)
        If TrackBar1.Value < counter1 Then
            Me.Controls.Remove(tb1(1, 1))
        Else
            For Me.j = 1 To m
                For Me.i = 1 To n
                    tb1(i, j) = New TextBox
                    tb1(i, j).Text = "tbox" & i & j
                    tb1(i, j).Name = "tb" & i & j
                    tb1(i, j).Left = 65 + dx
                    tb1(i, j).Top = 100 + dy
                    tb1(i, j).Height = 20
                    tb1(i, j).Width = 40
                    Me.Controls.Add(tb1(i, j))
                    dx += 50
                Next
                dx = 0
                dy += 30
            Next
            counter1 = i
        End If
    End Sub
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
    End Sub
 
    Private Sub TrackBar2_Scroll(sender As Object, e As EventArgs) Handles TrackBar2.Scroll
        Dim n As Integer
        Dim m As Integer
        Dim g As Integer
        Dim dx As Integer = 0
        Dim dy As Integer = 0
        Dim counter2 As Integer = 0
        n = CInt(TrackBar1.Value)
        m = CInt(TrackBar2.Value)
        ReDim tb1(n, m)
        If TrackBar1.Value < counter2 Then
        Else
            For Me.j = 1 To m
                For Me.i = 1 To n
                    tb1(i, j) = New TextBox
                    tb1(i, j).Text = "tbox" & i & j
                    tb1(i, j).Left = 65 + dx
                    tb1(i, j).Top = 100 + dy
                    tb1(i, j).Height = 20
                    tb1(i, j).Width = 40
                    Me.Controls.Add(tb1(i, j))
                    dx += 50
                    counter2 = j
                Next
                dx = 0
                dy += 30
            Next
        End If
    End Sub
End Class
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2014, 20:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Матрица из TextBox. Реализовать изменение размерности TrackBar'om (Visual Basic .NET):

Изменение TextBox - Visual Basic .NET
Есть код 'заполнение поля textbox при загрузке страницы Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load ...

Реализовать многострочный TextBox - Visual Basic .NET
1. Ребят, смотрите я создал 2 ComboBox 1 кнопку и 1 TextBox.Вообщем значения ComboBox- результаты,которые будут видны в TextBox(это я уже...

Изменение размерности на чертеже - AutoCAD
Здравствуйте, мне понадобился для учебы AutoCAD и нужно изменить размерность из миллиметров в метры. Я пытался через вкладку units...

Изменение размерности массива - VBA
Здравствуйте! Возникла проблема. Такое задание, на UserForm, когда нажимаешь на кнопку, создается массив, с той размерностью какая...

Дана матрица размерности N на M - C++
Дана матрица размерности N на M. Найти в матрице строку с наибольшей суммой элемен-тов. Вывести ее номер.

Матрица произвольной размерности - C++
Разработать класс, объект которого реализует «пользовательский» тип данных. Обеспечить его произвольную размерность за счет использования в...

3
dimsaratov
348 / 287 / 77
Регистрация: 02.10.2013
Сообщений: 475
Записей в блоге: 5
13.01.2014, 20:34 #2
vb.net
1
 Me.Controls.Remove(tb1(1, 1))
ты удаляешь только tb1(1,1)
vb.net
1
ReDim Preserve tb1(n, m)
почитай MSDN насколько я помню при переопределении многомерных массивов, можно изменить только одну последнюю размерность
0
Guman000
0 / 0 / 0
Регистрация: 04.12.2013
Сообщений: 3
14.01.2014, 00:33  [ТС] #3
"-ты удаляешь только tb1(1,1)"

Я пытался удалить tb(1,1) для примера.

Проблема в том что я переопределяю tb(n,m) и в нем ничего нет.
Попробовал поставить брейкпоинт на
vb.net
1
ReDim tb(n,m)
Пишет, что он пустой = Nothing

Сделал так
vb.net
1
2
3
        If tb1 Is Nothing Then
            ReDim tb1(n, m)
        End If
Но тогда вылазит экзепшн о переполнении массива
vb.net
1
tb1(i, j) = New TextBox
( //индекс вне границ диапазона)
0
dimsaratov
348 / 287 / 77
Регистрация: 02.10.2013
Сообщений: 475
Записей в блоге: 5
14.01.2014, 20:19 #4
RedDim без Preserve очищает содержимое массива
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2014, 20:19
Привет! Вот еще темы с ответами:

Матрица произвольной размерности - C++
Матрица произвольной размерности, представленная размерностями и линейным динамическим массивом коэффициентов матрицы, в котором она...

Вещественная матрица размерности m*n - Turbo Pascal
Разработать алгоритм и программу решения задачи: Дана вещественная матрица размерности m*n Определить индексы первого нулевого элемента...

Изменение размерности цветного изображения - Matlab
Доброго времени суток. Имеется цветное изображение с размерностью (M x N x 3), оно разделено на слои (можно отдельно посмотреть R, G, B...

Изменение размерности динамического массива - VBA
Уважаемые господам программисты! Столкнулся с очень неприятной штукой, не могу изменить размерность динамического массива, одного и того...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru