Announcement

Collapse
No announcement yet.

C# Komponenten einbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • C# Komponenten einbinden

    Hallo Zusammen,

    ich möchte mich in c# einarbeiten, ich habe bisher in Delphi programmiert. Könnte mir irgendwer weiterhelfen wie man im C# Komponenten (Packages) installiert oder einbindet

    Vielen Dank

  • #2
    Nennt man in C# "namespace".

    Willst man z. B. Datenbankzugriffe über OleDb durchführen, lautet es wie folgt:

    Code:
    using System.Data.OleDb;

    Comment


    • #3
      Hallo,

      ...wie man im C# Komponenten (Packages) installiert oder einbindet.
      bei .NET (C#) hat Anders Hejlsberg darauf geachtet, dass nicht ein so starres Prinzip wie bei Delphi genutzt wird. Man muss keine Packages zusammenstellen, um diese zu kompilieren. Da jede Komponente in Gestalt einer Assembly (DLL oder EXE) vorliegt und die Metadaten direkt einsehbar sind, reicht es aus, die Assembly-Datei verfügbar zu machen.

      Die Installation einer Komponente (die im Designer visuell konfigurierbar sein soll) kann dann auf verschiedenen Wegen erfolgen:

      a) Explizit über die Toolbox (Menüpunkt Hinzufügen)

      b) Implizit, indem in der Projektmappe (Solution) ein Projekt einer Klassenbibliothek mit der Komponenten-Implementierung hinzugefügt wird. Im Designer von Visual Studio ist dann die Komponente nach dem Öffnen der Solution automatisch verfügbar, ohne dass diese vorher von Hand ausgewählt werden muss.

      Comment


      • #4
        Hallo,

        vielen Dank für Eure schnelle Hilfe, ich denke mit Euren Tips komme ich schon ein ganzes Stück vorwärts auf meinem Weg C# zu verstehen.

        Comment


        • #5
          Originally posted by Andreas Kosch View Post
          [...]b) Implizit, indem in der Projektmappe (Solution) ein Projekt einer Klassenbibliothek mit der Komponenten-Implementierung hinzugefügt wird. Im Designer von Visual Studio ist dann die Komponente nach dem Öffnen der Solution automatisch verfügbar, ohne dass diese vorher von Hand ausgewählt werden muss.
          Gibt es dafür irgendwelche Beispiele? Für meine DLL hab ichs bisher explizit gemacht, implizit wär mir aber lieber, kriegs aber ned hin.

          Comment


          • #6
            Hallo,

            es reicht aus, wenn beide Projekte in der gleichen Projektmappe (Solution) sind. Das Attribut ToolboxBitmap der Control-Nachfolgerklasse legt fest, welches Symbol die Toolbox anzeigt, wenn die Solution geöffnet wird.

            Comment


            • #7
              dann mach ich noch irgendwas falsch.

              Ich hab in einer seperaten Datei eine Ableitung eines Panels erstellt, kann diese Ableitung aber nirgends in der Toolbox finden.
              Beim expliziten eintragen meckert Visual Studio, dass keine Komponenten enthalten sind.

              Comment


              • #8
                Hallo,

                ich füge ein Mini-Beispiel als Anhang bei. Das Control sieht dabei so aus:

                Code:
                using System;
                using System.Collections.Generic;
                using System.Text;
                //
                using System.Drawing;
                using System.Drawing.Drawing2D;
                using System.Windows.Forms;
                
                namespace DemoControl
                {
                    public class DemoCtrl : System.Windows.Forms.Control
                    {
                        public DemoCtrl()
                        {
                
                        }
                
                        protected override void OnPaint(PaintEventArgs pe)
                        {
                            base.OnPaint(pe);
                        }
                    }
                }
                Wenn die Windows Forms-Anweisung aus der Solution geöffnet und das Formular im Designer geöffnet wird, zeigt die ToolBox das Control-Symbol an (siehe Abbildung)
                Attached Files

                Comment


                • #9
                  Danke für den Tip, aber mein Vorgänger hat im Visual Studio anscheinend was umgestellt, dass dieses automatische einfügen in die Toolbox nicht funktionierte.
                  Nach rücksetzen der Einstellungen passt alles.

                  Comment

                  Working...
                  X