Contrôle component monotype

Résolu
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 - 17 avril 2007 à 11:52
 Utilisateur anonyme - 19 avril 2007 à 23:25
Je fait un control qui ne peut avoir qu'un seul type de control et en vérifiant avec GetType mais je ne sais pas accéder à cette fonction. Par example je creer le control monocomponent et un objet de tel type je veux faire que quand je ajouter un objet soit il accepte ou supprimer ou si on peut s'occuper des drag & drops pour ajouter les controles.

J'ai fait un programme là dessus mais il marche pas très bien !

Redman

13 réponses

Utilisateur anonyme
17 avril 2007 à 12:43
Si le controle hérite d'un System.Window.Form.Control, alors il est conteneur de tout controls.
Si tu veux filtrer, il faut intercepter lors de son ajout :



Protected Overrides Sub OnControlAdded(ByVal e As System.Windows.Forms.ControlEventArgs)
  If e.Control.GetType() Is GetType(System.Windows.Forms.Button) Then
    MyBase.OnControlAdded(e)
  Else
    Throw New System.Exception("Ne peut pas ajouter ce control ici")
  End If
End Sub,

----

(Coloration syntaxique automatique par Kenji)




__________
 Kenji
3
Utilisateur anonyme
19 avril 2007 à 23:25
Seul les versions expresses sont gratuites et sont amplement suffisantes pour développer.
Pour les versions pro gratuites, y'a la MSDNAA si tu y est aboné (étudiant).





__________
 Kenji
3
Utilisateur anonyme
17 avril 2007 à 12:09
Salut,

Pas très clair tout ca. Un cast paut-être ?
Explique toi mieux sans oublier les mots.





__________
 Kenji
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
17 avril 2007 à 12:14
Alors comme c'est un UserControl il implémente déjà le IComponent mais à la différence du formulaire on peut pas Ajouter de MainMenu donc je pense qu'il est possible de choisir quel type de contrôle ajouter dessus et je voudrais choisir le seul type de controle que l'on peut ajouter dessus par exemple j'aimerai qu'on ne puisse que mettre des controles buttons dessus.

Redman
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
17 avril 2007 à 18:33
Lorsque je glisse un contrôle sur ce contrôle perso(sachant que je n'ai ajouté comme code que ce que tu m'a donné), le contrôle va sur le formulaire et non pas sur le contrôle perso.

Redman
0
Utilisateur anonyme
17 avril 2007 à 18:36
Il faut que ton contrôle herite d'un panel.





__________
 Kenji
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
17 avril 2007 à 18:37
Ah je pensais que IComponent suffisait. Mais si il hérite déjà de contrôle perso, je peux pas le faire hériter de panel si ?

Redman
0
Utilisateur anonyme
17 avril 2007 à 18:45
Le IComponent sert juste pour l'édtion de ton contrôle en mode design.
Il y a une facon de faire en implémentant IContainerControl (je sais pas si ca existe en vb2k3) mais je m'y suis pas trop penché. Il doit y avoir des exemples sur le net.





__________
 Kenji
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
17 avril 2007 à 18:48
D'accord merci ! Je vais voir ça.

Redman
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
19 avril 2007 à 19:54
Euh ton code marche que en exécution mais pas en IDE et si je met un code à la suite de Throw New System.Exception("Ne peut pas ajouter ce control ici")
cela ne vas pas marcher c'est normal ?

Redman
0
Utilisateur anonyme
19 avril 2007 à 21:05
Je suis avec vs2005, il marche en ide comme en debug. Mais il est vrai qu'il n'est pas top.
Je crois que ce que tu veux faire n'est pas possible.
Tant qu'un element à un handle valide on peut lui ajouter n'importe quoi.
A quoi cela te servirait-il de le filtrer ?




__________
 Kenji
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
19 avril 2007 à 21:07
Parceque en fait je fait un miniOS et ce contrôle imitera la TaskBar de Windows XP mais avec de nouvelles fonctions. et ce n'est pas vraiment un OS il fait que remplacer explorer.exe

Redman
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
19 avril 2007 à 21:34
P.S c'est hors sujet mais je savais pas que VS 2005 c'était un shareware payant.

Redman
0
Rejoignez-nous