Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Как упростить код Добавлено: 08.08.11 13:15  

Автор вопроса:  qtronix | Web-сайт: hkmeteor.ru
Доброго времени суток уважаемые.
наткнулся с на некую проблемку и не знаю как решить.
И даже ума не хватате как поисковый запрос составить толковый чтобы вас по пустякам лишний раз не отвлекать.
Суть проблемы в следующем
есть некая форма в которую мы получаем данные с сервера
и есть некая подпрограмма которая отвечает за обработку событий в TextBoxe

    Private SUB TextBox1_KeyDown(BYVAL sender AS Object, BYVAL e AS SYSTEM.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        EanCode = ""
        LmCode = ""
        DIM CodeLen AS Int16
        IF e.KeyCode = Keys.Enter THEN
            CodeLen = LEN(TextBox1.Text)
            IF CodeLen = 8 THEN
                EanCode = "null"
                LmCode = TextBox1.Text
                TextBox3.Enabled = True
                TextBox3.Text = "1"
            ELSEIF CodeLen = 13 THEN
                EanCode = TextBox1.Text
                LmCode = "null"
                TextBox3.Enabled = True
                TextBox3.Text = "1"
            ELSE : MsgBox("Вы ввели неверные данные")
                TextBox1.CLEAR()
                EXIT SUB
            END IF
            CardsDate()
            IF ProdName = "" THEN
                MsgBox("Данные на сервере Не найдены!! Проверьте введенные данные ")
                EXIT SUB
            END IF
            TextBox2.Text = ProdName
            TextBox4.Text = ProdPriceStd
            TextBox5.Enabled = True
            TextBox5.Focus()
        END IF
    END SUB

и таких должно быть 15 штук
на 1,5,9,13,17,21,25,19,33,37,41,45,49,53,57 TextBox'ах

можно ли каким либо образом сделать так чтоб мне не копипастить этот безумный код 15 раз да еще и в каждом делать правки, С таким количеством правок я точно гденить чтонить забуду поправить и соответсвенно будут глюки которые будет проблематично выискать.
Всем заранее ОГРОМНОЕ спасибо за помощь!!!

Ответить

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

Номер ответа: 1
Автор ответа:
 Валерий



Вопросов: 2
Ответов: 12
 Профиль | | #1 Добавлено: 08.08.11 13:30
А если создать массив TextBox'ов и оперировать с Index'ми

Ответить

Номер ответа: 2
Автор ответа:
 qtronix



Вопросов: 4
Ответов: 5
 Web-сайт: hkmeteor.ru
 Профиль | | #2
Добавлено: 08.08.11 14:14
Честно говоря не разу не делал такую штуку
не ткнете меня мордой на пример если не сложно

Ответить

Номер ответа: 3
Автор ответа:
 Валерий



Вопросов: 2
Ответов: 12
 Профиль | | #3 Добавлено: 08.08.11 14:47
Примерно так:
  1.  
  2. Dim scname(3) As TextBox
  3.     'загрузка формы
  4.     Private Sub frmOpenBD_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  5.         Dim i As Integer
  6.         For i = 1 To 2
  7.             scname(i) = New TextBox 'Создаем очередной объект
  8.             scname(i).Text = Str(i)
  9.             scname(i).BackColor = Color.Khaki
  10.             scname(i).BorderStyle = BorderStyle.FixedSingle
  11.             scname(i).Top = (i - 1) * 50
  12.             scname(i).Left = 100
  13.             scname(i).Width = 300
  14.             scname(i).Height = 15
  15.             scname(i).Tag = Str(i)
  16.             Me.Controls.Add(scname(i)) 'добавляем в библиотеку элементов (важно!)
  17.             'объявляем функции на разные события для одного объекта
  18.             'AddHandler scname(i).Click, AddressOf scnameclick
  19.             'AddHandler scname(i).MouseMove, AddressOf scnamemove
  20.             'AddHandler scname(i).MouseUp, AddressOf scnamemouseup
  21.             'AddHandler scname(i).MouseDown, AddressOf scnamemousedown
  22.             'AddHandler scname(i).DoubleClick, AddressOf scname2click
  23.  
  24.         Next
  25.     End Sub
  26.  

Ответить

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



Вопросов: 4
Ответов: 5
 Web-сайт: hkmeteor.ru
 Профиль | | #4
Добавлено: 08.08.11 14:55
ОООООООООО !!!
Спасибо огромное !!
Будем пробовать !!!

Ответить

Страница: 1 |

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



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