[C#] "Echec inscription DragDrop"

Voilà je taffe actuellement sur une interface graphique en C# avec un bon paquets de controles créés à la volée et quelques fixes.

Parmis les fixes j’ai une ToolBar (modèle .net 1.1, peut servie). Tout se passe bien dans le meilleur des mondes avec des ptis carrés blanc en guise de bouton.

Pour enjoliver un peu le tout, je me suis décidé à mettre des images. Pour le moment j’ai un bête png 24 bit de 16*16 pixels

[code]System.Reflection.Assembly       thisExe;
Stream s;
s = thisExe.GetManifestResourceStream(« TWTInterface.new.png »);
myImg = new ImageList();
myImg.ImageSize = new Size(16,16);
myImg.Images.Add(Image.FromStream(s));    //!\ Ligne qui fait tout sauter

BtnNew.ImageIndex = 0;   //Bouton de Toolbar crée par VS.net
BtnSave.ImageIndex = 0;  // idem
BtnNew.ImageIndex = 0;   // idem
this.ToolBar.ImageList = myImg;[/code]

Ce code est issu du constructeur de ma Windows.Form en débuggant pas à pas, aucune exception, rien, il faut beau dans le code. Sauf que après le constructeur, quand l’objet est passé à l’Application.run():

[quote]Une exception non gérée du type ‹ System.InvalidOperationException › s’est produite dans system.windows.forms.dll

Informations supplémentaires : Échec de l’inscription DragDrop.[/quote]

Bon là j’avou que je voi pas trop…
J’ai vérifié, le stream existe bien le chargement de l’image se fait bien, google n’a pas franchement été mon pote sur ce coup là (ou j’ai pas trouvé) et la MSDN m’a fait la sourde oreille.

A noter que si je commente la « Ligne qui fait tout sauter », tout se passe comme prévu et j’ai aucun problème (mais pas d’image sur mon bouton de ToolBar, normal).

Donc si quelqun avait une idée, ça serait sympa :stuck_out_tongue:

Avant ton application.run est ce que tu as un Application.EnableVIsualStyle()? Et essaye de rajouter un Application.DoEvents() avant.

Nope y’avait pas, j’avais un bête Applicatioin.Run( new Form1() ),
j’ai modif par ça, mais j’ai toujours le même problème :

static void Main() { Form1 F = new Form1(); Application.EnableVisualStyles(); Application.DoEvents(); Application.Run(F); }

Application.EnableVisualStyles avant ton new Form1, et a la limite un DoEvent avant et apres. Tu as modifie le InitializeComponent? J’imagine qu’il faudrait voir le code de l’ensemble apres si ca marche pas… ou une repro plus petite (la plus petite possible).

Ah tient… ça marche bon ça fait un peu Sandwich de code, mais ça marche :stuck_out_tongue:

Merci GloP, mais par curiosité pourquoi l’activation des styles visuels et la purge de la liste de message décoince un enregistrement? (apparemment c’est surtout la purge, le EnableVisualStyles peut être nopé).

(et euh oui j’ai un peu modif le InitializeComponent pour rajouter des gestions d’évenements)