Feedback

C# - Autosize-TextBox

Veröffentlicht von am 17.10.2008
(2 Bewertungen)
Eine TextBox die ihre größe an den eingegebenen Text anpasst, ähnlich dem Google-Suchfeld in der Toolbar.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
	public class AutoSizeTextBox : TextBox
	{
		#region Properties
		[Description("Minim width of the textbox")]
		[DefaultValue(80)]
		public int MinWidth { get; set; }

		[Description("Maximum width of the textbox")]
		[DefaultValue(400)]
		public int MaxWidth { get; set; }

		[Description("Padding")]
		[DefaultValue(5)]
		public new int Padding { get; set; }
		#endregion
		//---------------------------------------------------------------------
		#region Ctor
		public AutoSizeTextBox() : base()
		{
			this.MinWidth = 80;
			this.MaxWidth = 400;
			this.Padding = 5;
		}
		#endregion
		//---------------------------------------------------------------------
		#region Overrides
		protected override void OnTextChanged(EventArgs e)
		{
			// "Inform" the base:
			base.OnTextChanged(e);

			using (Graphics g = this.CreateGraphics())
			{
				SizeF size = g.MeasureString(this.Text, this.Font);
				int width = (int)size.Width + this.Padding;

				if (width < this.MinWidth) width = this.MinWidth;

				this.Width = width;
			}
		}
		#endregion
	}
}
Abgelegt unter TextBox, AutoSize.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!