mikrocontroller.net

Forum: PC-Programmierung Erstellen einer Componente in C#


Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe eine Frage:

Und zwar wie kann ich im Visual Studio eine Componente wie z.B. den 
Serialport selbst erstellen?

Damit meine ich jetzt nicht ein UserControl, sondern so einen Baustein 
wie z.b. die SerialPortKlasse die man "hineinziehen" kann und dann unten 
so ein serialport icon hat und über diese die Properties ändern kann und 
eventhandler erzeugen usw.???

bitte um eure hilfe!

sg

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Indem man eine Klasse schreibt, die eine serielle Schnittstelle öffnet - 
das ist im Prinzip ein File - und Operationen wie Write, oder Read als 
öffentliche Memberfunktionen bereitstellt.

Properties lassen sich implementieren, indem man für öffentliche Members 
get- und set-Funktionen definiert. Diese Funktionen können natürlich 
auch Zustände der seriellen Schnittstelle abfragen, oder ändern.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann seine eigene Komponente/Klasse von Component ableiten...

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Man kann seine eigene Komponente/Klasse von Component ableiten...

Ja soviel hab ich auch schon herausgefunden, aber wie kann ich das Ding 
so compilieren dass ich es dann der Toolbox hinzufügen kann?

schöne Grüße

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Micha wrote:
>>>Man kann seine eigene Komponente/Klasse von Component ableiten...
>
> Ja soviel hab ich auch schon herausgefunden, aber wie kann ich das Ding
> so compilieren dass ich es dann der Toolbox hinzufügen kann?
>
> schöne Grüße

Wenn man z.B.
using System;
using System.ComponentModel;
namespace Test {
    public class TestComponent : Component {
        public TestComponent() {
        }
    
        public int TestGetSet { get; set; }
    }
}

schreibt und die Solution neu erstellt, taucht es automatisch in der 
Toolbox auf.
Ist es in einer separaten DLL/EXE, kann man das z.B. direkt der Toolbox 
hinzufügen (rechte Maustaste in der Toolbox -> Choose Items -> Browse).

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja so gehts ;)
Danke!!!

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da würd mich noch folgendes interessieren: Wie/wo kommt dann das Icon 
hin, welches in der Toolbox angezeigt wird?

Ralf

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralf wrote:
> Da würd mich noch folgendes interessieren: Wie/wo kommt dann das Icon
> hin, welches in der Toolbox angezeigt wird?
>
> Ralf
using System;
using System.ComponentModel;
using System.Drawing;

namespace Test {
   // bei einer eingebetteten Resource 
   [ToolboxBitmap(typeof(TestComponent), "Resources.ImageName.bmp")]
   public class TestComponent : Component {
        public TestComponent() {
        }
    
        public int TestGetSet { get; set; }
    }
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.