2016-02-05 5 views
0

В одном из моих классов форм внутри события нажатия кнопки мне нужна новая форма для открытия. Это мой код;Открытие новой формы в VB.NET

Private Sub btnEditReservation_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditReservation.Click 


    Dim ResultResSearch As New SearchResultDiag 
    Dim DbAccess As New SQL 
    Dim SQLString As String 
    Dim Result(,) As String 
    Dim sDate, sTime As String 

    Select Case CaseIDTY 
     Case 1 
      SQLString = "SELECT Reservation.DateTime, Reservation.GuestName, [Table+Reservation].TableID FROM Reservation INNER JOIN [Table+Reservation] ON Reservation.ReservationID=[Table+Reservation].ReservationID WHERE Reservation.DateTime LIKE '" & DTPickerEDT.Text & "%'" 
      Result = DbAccess.Read_Array_DB(SQLString) 
      If Result.Length = 0 Then 
       ErrorNotFound() 
       Exit Sub 
      End If 
      For i = 0 To (Result.Length/3) - 1 
       sDate = Mid(Result(i, 0), 1, 10) 
       sTime = Mid(Result(i, 0), 10, 5) 
       ResultResSearch.ReservationResult.Rows.Add(sDate, sTime, Result(i, 1), Result(i, 2)) 
      Next 

     Case 2 

     Case 3 

     Case 4 

    End Select 

    ResultResSearch.ReservationResult.Visible = True 
    ResultResSearch.Show() 

End Sub 

Я объявляю форму, я хочу, чтобы открыть 'Dim ResultResSearch как новый SearchResultDiag', а также использовать функцию '.show()'.

При отладке и нажатии дескриптора события ничего не происходит. Я пробежал код за строкой, и все работает, за исключением «ResultResSearch.Show()»

Ive попытался изменить режим выключения на закрытие последней формы.

Любая помощь будет оценена! :) Благодаря!

+0

Когда вы говорите «ничего не происходит», отладчик входит в этот метод? Если да, прошло ли это условие «Result.Length = 0»? –

+0

Поместите точку останова на строку 'ResultResSearch.Show()' и посмотрите, попало ли оно. –

+0

Да, он попадает в строку ResultResSearch.Show(). Ive посмотрел в свойства новой формы, и все это, кажется, все в порядке? Он попадает в линию - продолжается без эррос, но не показывает форму! :( –

ответ

-1

Вам просто нужно выполнить поиск SearchResultDiag.show() & me.hide() (чтобы скрыть текущую форму). Не уверен, что вещь, которую вы создаете, будет работать. Вам не нужно объявлять форму, которую вы хотите открыть.

+1

У вас нет _ ** есть ** _, чтобы закрыть текущую форму. И, кроме того, объявление нового экземпляра формы - лучшая практика. –

+0

Пожалуйста, я не _ "bitching" _ на вашем но я дал вам понять, что новая форма - лучшая практика. Но, прочитав ее, у меня появилось ощущение, что вы говорите, что он должен ее использовать. Но нет, неважно, делает ли он или не так. –

+0

Эндрю Мортимер уже дал довольно хорошее решение. –

Смежные вопросы