Bonjour,

Voici mon problème, j'ai besoin de créer un bouton un peu spécial pour une application. Pour cela je créé une class library (dll), avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
 
namespace Composant
{
    public partial class NoFocusButton : Button
    {
        public NoFocusButton()
        {
        }
 
        //keystroke
        [Category("Behavior"),
        Description("Keystroke simulée."),
        DefaultValue("")]
        public string KeyStr
        {
            get
            {
                if (KeyStr == "")
                    return Text;
                else
                    return KeyStr;
 
            }
            set { KeyStr = value; }
        }
 
 
        protected override void OnPaint(PaintEventArgs pe)
        {
            // TODO: Add custom paint code here
 
            // Calling the base class OnPaint
            base.OnPaint(pe);
        }
 
 
        private const int WM_MOUSEACTIVATE = 0x0021;
        private const int MA_NOACTIVATE = 0x0003;
 
        protected override void WndProc(ref Message m)
        {
            //message d'activation
            if (m.Msg == WM_MOUSEACTIVATE)
            {
                //refuser le focus
                m.Result = (IntPtr)MA_NOACTIVATE;
            }
            else
            {
                //gestion standard
                base.WndProc(ref m);
            }
         }
    }
}
Très simple en fait, j'ai juste rajouté une gestion interne pour un message windows et la propriété KeyStr.
Le problème vient de la propriété KeyStr. Quand j'essaie de poser mon NoFocusButton sur une winform, tout semble normal, ça s'affiche. Par contre, sitôt que j'essaie d'afficher la fenêtre d'édition de propriété, vs2005 se ferme tout seul, sans message d'erreurs.

Quelqu'un a une idée?
J'ai déjà perdu 1 jour et demi à chercher, j'ai essayé sous VS2005, puis j'ai téléchargé la version express, le service pack 1 beta, rien ne change.

Je suis ouvert à toute suggestion, Merci d'avance.