Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Где ошибка? Добавлено: 09.01.07 12:10  

Автор вопроса:  Djon | Web-сайт: www.vk-book.ru
Создаю динамически textbox.


Option Explicit
Private WithEvents TextBox As TextBox
Dim a, b
Private Sub Command1_Click()
If Text1.Item(a) <> Clipboard.GetText() Then
   a = a + 1
   Randomize
   b = b + 300
    Set TextBox = Me.Controls.Add("VB.textbox", "Text1")
    With TextBox
        .Move 500, 0 + b
        .Visible = True
        .Height = 300
        .Width = 2000
        .Index = a
        .Text = Clipboard.GetText()
    End With
End If
End Sub


.Index = a в этой строке показывает ошибку. Почему? Как исправить?

Ответить

  Ответы Всего ответов: 13  

Номер ответа: 1
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #1
Добавлено: 09.01.07 14:13
Set TextBox = Me.Controls.Add("VB.textbox", "Text1";)

может так?
Set TextBox = Me.Controls.Add("VB.textbox", "Text1()";)

Ответить

Номер ответа: 2
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #2
Добавлено: 09.01.07 14:15
With TextBox()

Ответить

Номер ответа: 3
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #3
Добавлено: 09.01.07 14:49
Вот посмотри как я делал.
Введи этот код в новый проект и запусти.
Private Sub Form_Load()
Dim Button(32) As VB.CommandButton
DimAs Integer
    Me.Width = 3300
    Me.Height = 300 * 33
    For № = 0 To 32
            Set Button(№) = Controls.Add("VB.CommandButton", "Button" & №, Form1)
            Button(№).Top = № * 300
            Button(№).Visible = True
            Button(№).Width = 300
            Button(№).Height = 300
     Button(№).Caption = (Chr(192 + №))
     Button(№).ToolTipText = №
    Next
End Sub

Это прикол в програмировании его не используй.
А просто так, может наглядней будет.

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 09.01.07 20:29
Возможно проще и уместнее оперировать с массивом текстбоксов? Подумай над этим...

Ответить

Номер ответа: 5
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #5
Добавлено: 09.01.07 21:16
.Index = a в этой строке показывает ошибку. Почему? Как исправить?
Динамически массив контроловнельзя сделать, поэтому делай заранее, как показал Боцман.

Ответить

Номер ответа: 6
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #6
Добавлено: 09.01.07 21:37
А как быть с этой строчкой
If Text1.Item(a) <> Clipboard.GetText() Then

Мне что для каждого случая писать условие? Как быть?

Ведь получится
If Text1<> Clipboard.GetText() Then
If Text2<> Clipboard.GetText() Then
......
If TextN<> Clipboard.GetText() Then

Ответить

Номер ответа: 7
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #7
Добавлено: 09.01.07 21:49
ЗАранее я не могу создавать я не знаю количество, и оно, можно сказать, не ограничено.

Ответить

Номер ответа: 8
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #8
Добавлено: 09.01.07 22:02
Сейчас напишу пример подожди

Ответить

Номер ответа: 9
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #9
Добавлено: 09.01.07 22:27
Так кинь на форму один CommandButton в свойствах укажи index 0 (ноль)Большой не делай и размести на форме в левом верхнем углу.
Option Explicit
Dim nBtn As Long
Dim shet As Long
Dim obsieButon As Long 'количество
Dim kolWstroke As Long
Private Function butonKol()
Dim nStroki As Long

shet = 1
For nBtn = 1 To obsieButon
Load Command1(nBtn)
Command1(1).Left = Command1(0).Left
Command1(nBtn).Top = Command1(0).Top
Command1(nBtn).Left = Command1(nBtn - 1).Left + Command1(0).Width
Command1(nBtn).Visible = True
If nBtn - 1 = (kolWstroke) * shet Then
Command1(0).Top = Command1(0).Top + Command1(0).Width
Command1(nBtn).Top = Command1(0).Top
Command1(nBtn).Left = Command1(0).Left
shet = shet + 1
End If
Next nBtn
End Function

Private Sub Command1_Click(Index As Integer)
Form1.Caption = Index
End Sub
Private Sub Form_Load()
kolWstroke = 10
obsieButon = 100
nBtn = 0
butonKol
End Sub
я тебе по русски переменные обозвал.
butonKol = text1.text например если незнаешь какое количество будет. пари нажатии на кнопку
форма показывает ее index вот и все все сразу работают.

Ответить

Номер ответа: 10
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #10
Добавлено: 09.01.07 22:29
Это тебе шашечная доска на 100 клеток,
играйся

Ответить

Номер ответа: 11
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #11
Добавлено: 09.01.07 22:32
obsieButon = 100 опечатался вот количество

Ответить

Номер ответа: 12
Автор ответа:
 Боцман



ICQ: 295725312 

Вопросов: 53
Ответов: 830
 Web-сайт: Rus-Skipper.narod.ru
 Профиль | | #12
Добавлено: 09.01.07 23:42
If Text1 = Clipboard.GetText() Then
obsieButon = a
butonKol
end if
Может создашь масив когда определишься?

Ответить

Номер ответа: 13
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #13
Добавлено: 10.01.07 12:44
Боцман, спасибо за помощь, очень помог, подталкнул - дальше я сам.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам