Frage

Sie kennen diese Farbauswahl-Tasten mit einem kleinen Rechteck darin, die aktuell ausgewählte Farbe angezeigt wird? Wie in MS-Office-Produkten.

Ich möchte ein implementieren mit C # / .NET. Also habe ich ein nettes kleines Symbol mit einem magentafarbenen Rechteck haben und einen transparenten Hintergrund (die die Farbe angezeigt ist).

Ich kann auf zwei Arten denken, wie dies geschehen könnte, aber sie sind beide nicht wirklich elegant:

  • Bearbeiten des Symbol Grafik-Software unter Verwendung eine feste Hintergrundfarbe anstelle von Transparenz haben und die Größe es genau so groß wie die Schaltfläche es enthält, zu sein. Dies würde es ermöglichen Transparent = Manenta in Kombination mit dem Button Hintergrund zu verwenden, jedoch würde das Symbol muß bearbeitet werden, wenn Knopfgröße, Symbolleiste Backcolor oder etwas andere Änderungen.
  • Bearbeiten Sie das Symbol programmatisch, wenn eine neue Farbe ausgewählt ist. Funktionieren würde, aber es scheint ein wenig zu komplex (in Bezug auf die Entwicklung und Leistung) zu mir.

So. Vielleicht bin ich dabei die offensichtliche und einfache Möglichkeit, eine solche Taste zu implementieren? Vielen Dank im Voraus für jeden Hinweis / Anregungen / Inspiration:)

War es hilfreich?

Lösung 2

Offensichtlich gibt es keine elegante Lösung. Ich wählte die erste, mit PNG Transparenz und Backcolor, mit dem Nachteil, dass die png Hintergrund wie der Hintergrund des enthaltenden Platte färben. Scheint zu sein, am wenigsten schmerzhaft auf diese Weise.

Andere Tipps

Sie können leicht die OnPaint Methode überschreiben und ein Rechteck mit einer beliebigen Farbe zeichnen Sie sich wünschen.

Ich sehe keinen Grund, ein Symbol zu verwenden, PNG oder andere Bildressource für diesen. Das scheint eine komplette Verschwendung von Ressourcen.

Ziehen Sie einfach die Boxen von Code, die Farben zeichnen, die derzeit Teil der Farbliste der Kontrolle sind. Idealerweise können Sie Ihre Steuerung der Anrufer seine eigenen Farben hinzuzufügen. Und es wäre nicht erforderlich jede mit Bildern Hantieren.

Ich habe nur ein Besitzerkombinationsfeld, wenn ich diese tat, aber ich zog einen Farbenkasten als ich beschreibe. Sehr einfach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top