J'essaie de créer une nouvelle solution composée de 2 projets. Solution Le projet de démarrage est un projet "Composant principal" et l'autre projet est un projet "Fonction de connexion".initialiser le composant fonctionnant en condition if?
BasicFormulaire dans "Composant principal" appelant LoginForm dans "Fonction de connexion" Lorsque la solution démarre. J'ai écrit une condition dans MainForm Constructor pour appeler LoginForm et fonctionner parfaitement mais je reçois une erreur comme suit dans Program.cs lors de l'échappement de LoginForm. Parce que la partie initializeComponent() fonctionne quand if condition est vraie. Je ne sais pas si c'est une autre façon de le faire.
Je sais que la solution fonctionne mais comment puis-je résoudre ce problème?
Program.cs;
namespace Main_Component
{
static class Program
{
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using (var mainForm = new MainForm())
{
Application.Run(mainForm);
}
}
}
}
Impossible d'accéder à un objet disposé \ r \ nom nObject:. 'MainForm'.
public MainForm()
{
try
{
var _lForm=new LoginForm();
_lForm.ShowDialog();
if (LoginForm._loginSuccess)
{
InitializeComponent();
}
else
{
this.Close();
}
}
catch (Exception err)
{
MessageBox.Show(err.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Au lieu de lancer 'MainForm' pourquoi ne pas lancer' 'LoginForm' de Main()' et 'a ce lancement MainForm()' sur un login sucessful. –
Thats signifie que je vais changer de fonction de démarrage en tant que fonction de connexion et bien sûr je devrais cacher la forme de connexion et montrer mainform Si je fais comme vous l'avez dit mais je ne veux pas cacher le projet de démarrage. – Okan
@Okan Non, ce n'est pas le cas. Avoir 'Main' lancer le formulaire de connexion comme son propre formulaire principal, avec sa propre boucle d'application. À la fin, lancez un nouveau formulaire principal avec une nouvelle boucle d'application. – Servy