THis est un suivi à ma précédente question « Font-dependent control positioning. » Il est une tentative de résoudre le vrai problème derrière cette question, peut-être de manière différente que celle que je vous demandais.commandes de positionnement au milieu d'un CheckBox
Exemple de l'énoncé du problème: Je veux une case à cocher qui dit "Ajuster les prix par <X><Y> après le chargement," où <X> est un nombre --- réglable avec NumericUpDown
--- et <Y> est soit "pour cent" ou "dollars", avec les choix effectués par un ComboBox
. Ce sera sur une seule ligne.
La complication: Je veux être en mesure de changer mes polices pour tous ces contrôles (les mettre essentiellement à System.Drawing.Fonts.MessageBoxFont
, qui est Tahoma 8 pt sous Windows XP/etc et Segoe UI 9 pt sur Vista.), Sans gâcher ma mise en page, qui avec mon paradigme Position
-property-setting actuel ne fonctionne pas.
Plus généralement, je voudrais les contrôles à dynamiquement disposés d'une manière de police indépendante, de sorte que la <X>NumericUpDown
s'insère parfaitement dans l'espace entre « par » et le <Y>ComboBox
, et de même le <X>ComboBox
tient dans par rapport à la <X>CheckBox
et la chaîne « après le chargement » à sa droite.
La partie tout le monde semble manquer: Tout cela est imbriqué dans un CheckBox
. Donc, idéalement, en cliquant sur les mots « après le chargement » doit cocher/décocher la case à cocher, et d'en tirer ce petit rectangle de surbrillance autour « Ajuster les prix de après le chargement. » Donc, il suffit de taper un Label
supplémentaire à la fin ne fonctionne pas, car alors il ne bascule pas le CheckBox
; de même, essayer de panser les choses en connectant un tel évènement Click
ne produira pas le rectangle de surbrillance désiré.
Solutions? À ce stade, je pense soit:
Repenser le problème, en quelque sorte, peut-être avec une solution laide comme deux lignes distinctes de texte: « Ajuster les prix trouvés après le chargement » (
CheckBox
), « quantité de réglage: "(NumericUpDown
etComboBox
). C'est vraiment mauvais parce que ma boîte d'options est absolument pleine d'options de ce type (c'est-à-dire le type dans l'exemple), donc il faudrait au moins doubler en taille verticale.Une sorte de contrôle personnalisé?
SplittableCheckBox
?Une sorte de magie avec un contrôleTableLayout
? (Que Jolie échec à « tout le monde partiel semble manquer.)Abandonnez et soit revenir à MS Sans Serif, ou utiliser Tahoma uniformément ou package Segoe UI avec mon application, manque de respect ainsi les polices par défaut du système .
(Nouveau, par l'intermédiaire modifier) Passer à WPF, si quelqu'un peut me convaincre qu'il prend en charge ce scénario exactement.