MSGBOX ESCONDIDO, VB.NET
Aconteceu algo inédito aqui
Em uma determinada ocasião preciso mostrar uma mensagem na tela, só que essa mensagem fica por baixo de todos os forms abertos ao invés de ficar por cima, impossibilitado clicar no botão <Ok> da msgbox, parecendo que o sistema travou. a chamada do form é com Showdialog.
Se eu for no Gerenciador de tarefas e apagar as telas. a mensagem está la aguardando ser clicado no OK
Essa é a linha de comando:
MsgBox([Ô]Arquivo [Ô] + RaizSistema + [Ô]\ArquivoPreenchido\Periodo [Ô] + txtBo1Periodo.Value.ToString + [Ô]\[Ô] + Chr(13) + ArquivoWeb + Chr(13) + [Ô]não encontrado![Ô])
Aparentemente isso não acontece no Forms Pai, só nos forms filho.
Outra coisa interessante, só acontecem nos clientes com o sistema compilado, a maioria usa Windows 7
Aqui o erro não ocorre, uso o Win 8.1
O que pode ser?
Grato
Citação:Essa é a linha de comando:
MsgBox([Ô]Arquivo [Ô] + RaizSistema + [Ô]\ArquivoPreenchido\Periodo [Ô] + txtBo1Periodo.Value.ToString + [Ô]\[Ô] + Chr(13) + ArquivoWeb + Chr(13) + [Ô]não encontrado![Ô])
Sei que não tem muita coisa a ver, mas no vb.net não se concatena com sinal de [Ô]+[Ô] e sim com [Ô]&[Ô]. A menos que sua linguagem seja C#.
Citação:Outra coisa interessante, só acontecem nos clientes com o sistema compilado, a maioria usa Windows 7
Aqui o erro não ocorre, uso o Win 8.1
Olha quando eu compilo os projetos aki q sei q os clientes usam Win7 já complilo no .Net Framework 4.0. e nunca tive dor de cabeça quanto a isso!
Citação:Sei que não tem muita coisa a ver, mas no vb.net não se concatena com sinal de [Ô]+[Ô] e sim com [Ô]&[Ô]. A menos que sua linguagem seja C#.
Normalmente uso o [Ô]&[Ô] e raramente uso o [Ô]+[Ô]. Mas não é o motivo do problema, Eu compilo no NF 4.5. Funciona no W7 só tem que ter o W7 SP1
Citação::
Olá pessoal,
Aconteceu algo inédito aqui
Em uma determinada ocasião preciso mostrar uma mensagem na tela, só que essa mensagem fica por baixo de todos os forms abertos ao invés de ficar por cima, impossibilitado clicar no botão <Ok> da msgbox, parecendo que o sistema travou. a chamada do form é com Showdialog.
Se eu for no Gerenciador de tarefas e apagar as telas. a mensagem está la aguardando ser clicado no OK
Essa é a linha de comando:
MsgBox([Ô]Arquivo [Ô] + RaizSistema + [Ô]ArquivoPreenchidoPeriodo [Ô] + txtBo1Periodo.Value.ToString + [Ô][Ô] + Chr(13) + ArquivoWeb + Chr(13) + [Ô]não encontrado![Ô])
Aparentemente isso não acontece no Forms Pai, só nos forms filho.
Outra coisa interessante, só acontecem nos clientes com o sistema compilado, a maioria usa Windows 7
Aqui o erro não ocorre, uso o Win 8.1
O que pode ser?
Grato
Observei que você está utilizando o MSGBOX. Inves disso, utilize o MessageBox.
MSGBOX é do namespace Microsoft.VisualBasic enquanto que MessageBox é do Namespace System.Windows.Forms.
Utilizando MsgBox vc está apenas dando uma volta para chegar até MessageBox.
EDIT
Citação:Não sei como vc está chamando o form que irá disparar a MessageBox, no entanto se faz necessário o seguinte :
Dim f as New frmquevaidispararomessagebox
f.TopMost = True
f.TopLevel = True
E outras propriedades que vc deseje setar.
e por final
f.ShwoDialog()
Tente utilizar o parametro MessageBoxOptions.DefaultDesktopOnly da seguinte maneira :
MessageBox.Show(msg, [Ô]titulo[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
Apenas uma sugestão :
Crie uma variável do tipo string e coloque sua mensagem ao invés de colocar a mensagem diretamente no messagbox. Não que isso seja errado, mas facilita para voce no aspecto visual. Observe que utilizei o vbNewLine no lugar do chr(13).
Dim msg As String = [Ô]Arquivo [Ô] & RaizSistema & [Ô]\ArquivoPreenchido\Periodo [Ô] & txtBo1Periodo.Value.ToString & [Ô]\[Ô] & vbNewLine & ArquivoWeb & vbNewLine & [Ô]não encontrado![Ô]
MessageBox.Show(msg, [Ô]Prompt[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)