2013-02-20 2 views
0

вот что моя проблема, я использую form1 (me), чтобы с помощью веб-браузера отображались пользовательские ошибки, я проверяю INI-файл, чтобы посмотреть, какой экран мне нужен и я делаю navagate.webbrowser1 и веб-адрес, затем показываю форму с веб-браузером, занимающим всю форму. когда я запускаю это, я получаю черный экран или белый экран или форма не установлена ​​спереди. Я вызываю программу, которая устанавливает этот принтер в фоновом режиме во время этого процесса.Форма с веб-браузером сведена к минимуму при использовании формы.show VB net

Я хочу, чтобы форма была впереди, в то время как другая программа запускается и исчезает, это конец моей программы, и на ней есть некоторые анимации на веб-странице, в которых пользователь показывает, что программа все еще работает, но я могу Не получишь форму для показа.

вот мой код:

 '********************************************************************************************* 
     'this set the correct screen for Exit 
     '********************************************************************************************* 
     RBoot = reboot1 
     If RBoot = "True" Then 

      closeweb = "https://xxxxxxxxxxxxxxx/_report/enrollment.asp?page=completesuccess" 
      WebBrowser1.Navigate("https://XXXXXXXXXXXX/_report/enrollment.asp?page=completesuccess") 
      var1 = 0 
      Form9.Hide() 
      Form10.Hide() 
      Do Until var1 = 5 
       Me.Show() 
       Me.Refresh() 
       Thread.Sleep(400) 
      Loop 


     ElseIf RBoot = "False" Then 

      closeweb = "https://XXXXXXXXXXXXXX/_report/enrollment.asp?page=completenoreboot&name=" & computername 
      WebBrowser1.Navigate("https://XXXXXXXXXXXXXXX/_report/enrollment.asp?page=completenoreboot&name=" & computername) 
      var1 = 0 
      Form9.Hide() 
      Form10.Hide() 
      Do Until var1 = 5 
       Me.Show() 
       Me.Refresh() 
       Thread.Sleep(400) 
      Loop 


     End If 


     '********************************************************************************************* 
     ' this runs the Printer Installer 
     '********************************************************************************************* 
     Dim Compini As String = My.Computer.FileSystem.ReadAllText("C:\temp\computerinfo.ini") 
     logg = "Computer Info INI:" & vbCrLf & Compini 
     Call logging() 

     If Compini.Contains("Printer") Then 

      If My.Computer.FileSystem.FileExists(current_DIR & "\ Printer Installer\Printerinstaller.exe") Then 
       Me.Show() 
      Dim printerinstall As New Process 
       printerinstall.StartInfo.FileName = current_DIR & "\Printer Installer\PrinterInstaller.exe" 
       printerinstall.StartInfo.Arguments = " -D C" 
       printerinstall.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
       printerinstall.Start() 
       Try 
        While printerinstall.HasExited = False 
         Thread.Sleep(200) 
         Me.Show() 
        End While 
       Catch ex As InvalidOperationException 
       End Try 
       logg = "Ran " & current_DIR & "\Printer Installer\PrinterInstaller.exe" 
       Call logging() 
      Else 
       logg = "Can't Find " & current_DIR & "\Printer Installer\PrinterInstaller.exe" 
       Call logging() 
       WebBrowser1.Navigate("https://XXXXXXXXXXXXXXXX/_report/enrollment.asp?page=printerinstallernotfound&name=" & computername) 
       Form9.Hide() 
       Form10.Hide() 
       Me.Show() 
       Exit Sub 
      End If 
     Else 
      logg = "No Printer Selected and Printer Installer didn't run" 
      Call logging() 
     End If 
+0

До сих пор вы можете получить пробную версию и программирование ошибок. Вы сильно ударили по стене этим кодом, каждая строка кода сломана так или иначе. Возьмите книгу или посетите школу, чтобы продвигаться вперед. И избавиться от петель. –

ответ

0

Вы можете сделать вид пребывания впереди с:

Form1.TopMost = True 

И вы можете свести к минимуму вид:

Form1.WindowState = FormWindowState.Minimized 

(изменить Form1 до Me, если вы ссылаетесь на ту же форму)

+0

У меня уже есть эта форма собственности TopMost = true –

0

Почему переменная "closeweb"? Кажется, что это не служит цели

Вы повторно используете 'reboot1' в другом месте? Если нет, зачем менять имена переменных вверху?

Не скрывайте форму 9 и форму10 - вы уверены, что они не содержат контент, который вы хотите отобразить?

Удалите петли, код не нужен - есть намного лучшие способы выполнить то, что вы пытаетесь сделать там. Попробуйте просто показать свою форму «я» там без цикла и посмотреть, что произойдет (не обновляйтесь)

В процессе установки принтера вы снова скрываете и показываете формы. Вы должны дать им имена, чтобы вы могли лучше отслеживать, что вы делаете. Кажется, что все это скрывает и демонстрирует черно-белый экран.

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