Inputbox personnalisable avec le code source vb

Description

Voici une boite de dialogue (qui fonctionne à peu près comme le InputBox classique, sauf le retour de la saisie) que l'on peut personnaliser. D'après la source en C# :
www.codeproject.com/KB/edit/InputBox.aspx
Convertie via :
www.developerfusion.com/tools/convert/csharp-to-vb

Dans le InputBox classique, le seul moyen (à ma connaissance) de savoir si on a cliqué sur Annuler est de voir si la chaîne de retour est vide, tandis qu'ici, on distingue les 2 cas.

J'ai fait un exemple de personnalisation de la boite de dialogue par le choix supplémentaire d'un type quelconque à effectuer (type 1 ou type 2 par exemple).

Source / Exemple :


Cf. Zip.

Conclusion :


Le 1er problème, c'est que, comme avec la source d'origine en C#, les contrôles sont créés dynamiquement, on ne les voit pas dans le désigneur de Visual Studio, ce qui n'est pas pratique (on est obligé de créer des contrôles à part dans une feuille puis de copier/coller le code source, et il faut ajuster la position des contrôles).

Le second problème, c'est que du coup, pour faire une personnalisation du code, c'est plus simple de dupliquer le code source. L'idéal serait de faire un héritage en POO pour ne modifier que ce qui est nécessaire (mais ce n'est pas sûr que cela en vaille le coup pour un code aussi simple) : si quelqu'un a une meilleure solution que la mienne, je suis preneur (j'ai du aller vite sur cette source ; je pense qu'il devrait être possible de partir d'une feuille normale, avec quand même un appel depuis un shared sub, ou sinon tant pis pour le shared sub, un new InputBoxPerso fera l'affaire à l'usage ; repartir de zéro serait le plus simple ?).

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.