[.Net]Refresh d'un objet (MonthCalendar)

Hello,

Dans la suite de mes pérégrinations en C#, je suis en train d’essayer d’avoir le comportement suivant d’un monthCalendar : Je clique sur une date, et il me sélectionne la plage de date correspondant à la semaine cliquée (du mercredi au mercredi sinon c’est pas drôle).

J’ai donc ajouté un handler sur l’event DateChanged (j’ai tenté avec DateSelected, même effet), et quand je clique, il change le SelectionStart et le SelectionEnd comme il faut.

Le problème, c’est que ca me donne ca :

Ce qui fait supra mal aux yeux. J’essaie pourtant de faire un

après mes modifs, mais ça ne change rien.

Je ne vois pas trop comment lui dire de repeindre le contrôle. Surtout que si je le sors de l’écran pour le remettre, le problème ne se règle pas (ce qui devrait être le cas si c’était juste un problème de Paint, non?)

Je joins le projet au cas où ca vous intéresse B)
[attachment=989:attachment]

et le code incriminé :

Tout le machin RefreshEnCours sert à inhiber temporairement l’event, vu que sinon le dateChanged lancerait un autre DateChanged, …

[code] private bool refreshEnCours = false;

	  private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
	  {
		  if (!refreshEnCours)
		  {
			  refreshEnCours = true;
			 DateTime maDate = monthCalendar1.SelectionStart;
			  SelectionnerSemaine(maDate);
			  refreshEnCours = false;
		  }

	  }

	  private void SelectionnerSemaine(DateTime maDate)
	  {
		 int ecart = (maDate.DayOfWeek - DayOfWeek.Wednesday + 7) % 7;
		  Console.WriteLine(ecart);
		  monthCalendar1.SelectionStart = maDate.AddDays(-ecart - 1);
		  monthCalendar1.SelectionEnd = maDate.AddDays(-ecart + 6);
		  monthCalendar1.Invalidate(true);

	  }[/code]

Dans la doc:

http://msdn2.microsoft.com/en-us/library/s…ctionrange.aspx

C’est un truc de la pre-histoire ce controle. Pas sur que tu veuilles utiliser ca…

rah putain, merci j’avais pas pensé à ce coup là.
Y’a un autre contrôle qui a le mêmes genre de fonctionnalités? (j’ai utilisé celui là vu qu’il est dans la toolbox)

En gratuit, chépa…
En payant par contre il y a celui là, et il est ultime : telerik calendar

C’est pas du web, c’est du win B)