♥ 0 | Boas, Há uma coisa estranha que nos acontece esporadicamente em projetos de extensibilidade de diferentes cliente. Nesses projetos nós criamos uma ribbon que contém botões que abrem formulários. Não sabemos bem qual é a causa, mas muitas vezes, o ERP cria várias instâncias do formulário e torna-se constrangedor. Alguém consegue ajudar? Marcado como spam |
Comentários @brunooliveira, Por favor, agradeço que formalize este pedido, via ticket de suporte. Coloque toda a informação necessária para que a equipa analise a situação.
Uma vez que a situação ocorre em variados cenários e várias queixas sugiro a analise pela equipa técnica e de produto. |
Resposta privada Deixo aqui um exemplo de um método para contornar a situação: // <summary> /// verifica se fdu ja esta aberto e dá focus retornando true, caso contrário retorna falso /// </summary> /// <param name="Nome_FDU"></param> /// <returns></returns> public bool VerificaFDUAberto(string Nome_FDU) { bool alreadyOpened = false; FormCollection MDIFORM = Application.OpenForms; foreach (Form frm in MDIFORM) { if (frm.Controls.ContainsKey(Nome_FDU)) { frm.Focus(); frm.BringToFront(); frm.Show(); frm.WindowState = FormWindowState.Normal; alreadyOpened = true; } } return alreadyOpened; } Na Ribbon: if (!checkFDU.VerificaFDUAberto(typeof(FDU_Teste).Name)) { using (var result = BSO.Extensibility.CreateCustomFormInstance(typeof(FDU_Teste))) { if (result.IsSuccess()) { (result.Result as FDU_Teste).Show(); } } }
Marcado como spam | |
Resposta privada Acredito que seja mesmo um bug que a Cegid necessite de tratar. Acredito que a imagem que esteja a partilhar seja mais ou menos o que vocês implementaram. No entanto, deixo aqui uma ideia para controlar a abertura de múltiplos formulários iguais: Marcado como spam | |
Resposta privada Boa Tarde, também tenho esse problema e não consigo resolver... Marcado como spam |