| ♥ 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 |
