J'ai besoin de code pour convertir la TextBox C# standard en température TextBox ce qui signifie ajouter "° C" à la fin du texte dans la zone de texte avec une autre couleur que la couleur par défaut.Temperature TextBox In C#
Répondre
Pour obtenir le symbole de degré, vous pouvez utiliser le code de caractère 176, par ex.
Char degree = (Char)176
Vous pouvez ensuite ajouter ceci à votre contenu ou textbox je voudrais juste ajouter une étiquette à droite de la zone de texte avec le symbole de degré si vous souhaitez contrôler la forecolor facilement.
TextBox est un éditeur de texte brut. Pour obtenir des couleurs différentes, vous devez tourner autour d'une riche zone de texte. Pourquoi ne pas mettre le "° C" dans une étiquette positionnée à droite de la zone de texte? Cela rendrait également votre code d'analyse et de rendu beaucoup plus facile.
+1, je suis d'accord, tout le reste est à peu près exagéré. – Groo
Vous pourriez probablement créer votre propre contrôle qui hérite de TextBox, puis surcharger la propriété Text pour ajouter automatiquement ° C bien que d'autres couleurs dans le même TextBox puissent poser problème. Pourquoi vous voulez avoir ° C dans TextBox?
Pourquoi? Ne peut-il pas être label juste après TextBox? Vous pouvez définir du texte et des couleurs statiques comme vous le souhaitez.
Les autres solutions proposées ici sont probablement suffisantes pour votre application; Cependant, si vous aviez la nécessité de mettre en œuvre ce avec réutilisabilité à l'esprit, voici une solution de contrôle personnalisé que vous pouvez étendre à mieux répondre à votre demande:
public class TemperatureTextBox : ContainerControl
{
private const int BORDER_SIZE = 1;
// Exposes text property of text box,
// expose other text box properties as needed:
public override string Text
{
get { return textBox.Text; }
set { textBox.Text = value; }
}
private TextBox textBox = new TextBox()
{
Text = string.Empty,
BorderStyle = BorderStyle.None,
Dock = DockStyle.Fill
};
private Label label = new Label()
{
Text = "°C",
TextAlign = ContentAlignment.MiddleCenter,
Size = new Size()
{
Width = 32
},
BackColor = SystemColors.Window,
Dock = DockStyle.Right
};
public TemperatureTextBox()
{
this.BackColor = SystemColors.Window;
this.Padding = new Padding(BORDER_SIZE);
this.Controls.Add(label);
this.Controls.Add(textBox);
this.PerformLayout();
}
// Constrain control size to textbox height plus top and bottom border:
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
this.Height = (textBox.Height + (BORDER_SIZE * 2));
}
// Render a border around the control:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawRectangle(
SystemPens.ControlDarkDark,
new Rectangle()
{
Width = (this.Width - BORDER_SIZE),
Height = (this.Height - BORDER_SIZE)
});
}
}
Il suffit de créer une nouvelle classe et laisser tomber cette codez et reconstruisez votre solution. Il va créer un nouveau contrôle TemperatureTextBox
dans la boîte à outils qui peut être déposé sur un nouveau formulaire et visuellement conçu.
Cet exemple expose la propriété Text
de la zone de texte sous-jacente en remplaçant la propriété text du contrôle personnalisé. Vous souhaiterez peut-être exposer d'autres propriétés et événements en fonction de ce que votre application doit accomplir.
- 1. Windows Temperature Monitor
- 2. C#, textbox, .NET
- 3. C# Mettre chaîne en TextBox
- 4. DateTime in C#
- 5. Callbacks in C#
- 6. Printform in C# 2008
- 7. ArrayList in C#
- 8. Namespaces in C#
- 9. uniq in C#
- 10. Pinning IEnumerables in C#
- 11. Round robin in C#
- 12. mshtml.HTMLDocumentClass in C#
- 13. AttachmentCollection attachmentCollection in C#
- 14. Environment.CurrentDirectory in C# .NET
- 15. checkbox array loop in C#
- 16. Catching Ironpython Exception in C#
- 17. Curseur Focus sur Textbox dans WPF/C#
- 18. C# - Reliure TextBox à un nombre entier
- 19. TypeAhead Feature TextBox Contrôle Windows C#
- 20. C# et mp3 fade in/out
- 21. Interception de l'application close in C#
- 22. C# Thread in Thread: comment obtenir SynchronizationContext.Current?
- 23. WPF: incorporation de TextBox dans TextBox
- 24. AutoComplete TextBox Control
- 25. Javascript Regex seulement TextBox
- 26. WPF/C#: désactiver le glisser-déposer pour les TextBox?
- 27. Je veux des couleurs différentes dans mon textbox C# webform!
- 28. Un textbox/richtextbox qui a la coloration syntaxique? [C#]
- 29. Comment faire un TextBox non interactif en C#
- 30. Alignement de texte TextBox sur plusieurs lignes (C# 2.0)
Je pense qu'il est plus facile d'utiliser '" ° "', n'est-ce pas? – Groo