Bonjour,
je dois créer pour ma société un jeu de composants "personnalisés" qui nous serviront dans les projets futurs. J'ai bien lu et appliqué le tutoriel http://chgi.developpez.com/dotnet/compo1/cs/ mais en l'adaptant à mon cas, je me trouve bloqué : Je cherche dans un premier temps à faire un TextBox dont la propriété Cursor est redéfinie par défaut sur "Cursors.cross".
Voici le code :
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
 
using System;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.ComponentModel;
 
namespace Composant
{
	public class ETextBox : TextBox
	{
		private Cursor curseur=new Cursor("cross.cur");
		public ETextBox() : base()
		{
		}
		protected override Size DefaultSize
		{
			get
			{
				return new Size(220, 20);
			}
		}
		[DefaultValue(curseur)]
		public override Cursor Cursor
		{
			get 
			{ 
				 return base.Cursor;
			}
			set 
			{ 
				base.Cursor = value;
			}
		}
	}
}
Malheureusement cela ne se compile pas et j'ai l'erreur suivante :
Error 1 An object reference is required for the non-static field, method, or property 'Composant.ETextBox.curseur' C:\Documents and Settings\lionel\Mes documents\Visual Studio 2008\Projects\ETextBox\ETextBox\ETextBox.cs 23 17 ETextBox
C'est bien sûr sur "[DefaultValue(curseur)]" que l'erreur se place.
Je vois bien qu'il me demande une valeur statique et non une variable mais je trouve pas le moyen de le contourner.
Toute aide est fortement appréciée
Merci