Bonsoir,
cela fait 3 jours que j'essaye de faire un invoke sur un KryptonDockableNavigator afin d'y ajouter un control !!!!
Loading Image
Donc voici mon code;
Appel de la fonction:
public void AddPage(String Text, UserControl Control)
{
if (MainForm.kryptonDockableNavigator.Visible == false)
{
InterfaceLogger.KryptonDockableNavigatorSetVisible(MainForm.kryptonDockableNavigator, true);
}
InterfaceLogger.KryptonDockableNavigatorAddPage(MainForm.kryptonDockableNavigator, NewPage("Unknow Account", Control));
}
Création de la page a partir du control
private KryptonPage NewPage(String Text, Control content)
{
KryptonPage p = new KryptonPage();
p.TextTitle = "Panel Amakna";
p.ImageSmall = MainForm.imageList.Images[2];
p.Text = Text;
content.Dock = DockStyle.Fill;
p.Controls.Add(content);
return p;
}
Ajout de la page via un invoke
private delegate void KryptonDockableNavigatorAddPageDelegate(KryptonDockableNavigator Nav, KryptonPage Page);
public static void KryptonDockableNavigatorAddPage(KryptonDockableNavigator Nav, KryptonPage Page)
{
if (Nav.InvokeRequired == true)
{
object[] args = new object[] { Nav, Page };
Nav.Invoke(new KryptonDockableNavigatorAddPageDelegate(KryptonDockableNavigatorAddPage), args);
}
else
{
Nav.Pages.Add(Page);
}
}
Erreur
Informations supplémentaires : Opération inter-threads non valide : le contrôle '' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
Nom de composant même pas cité. Erreur sur la ligne : 'Nav.Pages.Add(Page);'
Je ne comprend pas, le code est bon tout aurait fonctionnait avec un composant basic windows.
Si une âme de bonne volonté ayant de la peine pour un pauvre programmeur en détresse, pourrait m'aider...
BlueDream