DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Thomas Hauser Artikel Drucken
        
Windows-Steuerelemente in .NET im Eigenbau

Hallo,

nachdem ich immer wieder in Beispielen sehe, dass Steuerelemente jedesmal aufs neue neu formatiert werden, obwohl diese ja in vermutlich allen Forms der Anwendung gleich aussehen sollten, möchte ich an dieser Stelle kurz erläutern, wie man das durch eigene Steuerelemente schöner machen kann.

Zu Beginn möchte ich die Möglichkeiten eines eigenen Steuerelementes aufzählen:

  1. Steuerelement durch Ableitung von einem vorhandenen Steuerelement
  2. UserControl, ein Steuerelement durch Gruppierung mehrerer anderer Steuerelemente erstellen
  3. CustomControl, ein Steuerelement selbst zeichnen mit GDI+

Nun gebe ich für jede dieser Möglichkeiten ein sehr kurzes Beispiel:

  1. Steuerelement durch Ableitung

public class BlueDataGridView: DataGridView

{

public BlueDataGridView()

:base()

{

base.BackgroundColor = Color.Blue;

}

}

 

  1. UserControl

public partial class FolderBrowserTextBox : UserControl

{

public string SelectedPath

{

get { return SelectedPathTextBox.Text; }

set { SelectedPathTextBox.Text = value; }

}

 

public FolderBrowserTextBox()

{

InitializeComponent();

}

 

private void BrowseButton_Click(object sender, EventArgs e)

{

folderBrowserDialog1.SelectedPath = this.SelectedPath;

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)

{

this.SelectedPath = folderBrowserDialog1.SelectedPath;

}

}

}

 

  1. CustomControl

public class CoolBackgroundControl: Control

{

protected override void OnPaint(PaintEventArgs e)

{

base.OnPaint(e);

 

Rectangle r = new Rectangle(0, 0, this.Width, this.Height);

LinearGradientBrush b = new LinearGradientBrush(

r, Color.Blue, Color.White,

LinearGradientMode.BackwardDiagonal);

e.Graphics.FillRectangle(b, r);

string time = DateTime.Now.ToShortTimeString();

SizeF s = e.Graphics.MeasureString(time, base.Font);

e.Graphics.DrawString(time, base.Font, Brushes.YellowGreen,

new PointF(this.Width / 2 - s.Width / 2,

this.Height / 2 - s.Height / 2));

}

}

 

FAZIT:

Das ist doch richtig cool. Wir können mit dieser Funktionalität nahezu alles erschlagen. Eigene Steuerelemente werden in eine Eigene DLL kompiliert und im GAC zur Verfügung gestellt. Dann können die Steuerelemente auch der Toolbox hinzugefügt werden.

Ist das Steuerelement in derselben Bibliothek (z. B. UserControl, das mehrere eigene Steuerelemente gruppiert), dann sind diese in der Toolbox nach dem Kompilieren sofort verfügbar.


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 01.08.2007
  Gültig bis: 30.10.2007
9 Ratings
Bewertung: 64,4%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG