2016-08-31 4 views
1

Ich habe die folgende Klasse.Verschachtelte Steuerung, die nicht kopiert

class dgv 
{ 
    public class DataGridViewEnter : DataGridView 
    { 
     // Some Properties and methods here... 
    } 

Diese Klasse wird in zwei Projekten genau derselbe Code gefunden. In Projekt A (ich habe es aus dem Internet erworben) befindet sich der DataGridViewEnter visuell auf Formular, das zu Projekt A gehört. Wenn ich versuche, es in ein Formular in Projekt B zu kopieren, erscheint es nicht in dem Formular. Ich bin sicher, das ist wegen der Struktur der Klassen, was ist das Problem? Wie kann ich es lösen?

+0

normal kopieren/einfügen ... die anderen Steuerelemente werden normal kopiert ... –

+0

ich rechte Maustaste auf das Steuerelement und füge es in das zweite Projekt ein ... wie ich dir gesagt habe, werden andere Steuerelemente normal mit dieser Methode kopiert und Ich habe die ganze Zeit verwendet –

Antwort

0

Es geht nicht um verschachtelte Kontrolle. Normalerweise geht es um Namensraum. Diese Art von Problem tritt auf, wenn 2 Klassen nicht den gleichen Namespace haben. Wenn Sie dann das Steuerelement vom Designer des ersten Projekts kopieren und versuchen, es in den Designer des zweiten Projekts einzufügen, passiert nichts.

In der Tat ist es besser, das Kopieren von Dateien zwischen Projekten zu vermeiden und wenn Ihre Projekte einige gemeinsame Klassen haben, legen Sie gemeinsam genutzte Klassen in ein Klassenbibliotheksprojekt und fügen Sie in diesen Projekten einen Verweis auf die gemeinsam genutzte Klassenbibliothek hinzu.

Wenn Sie jedoch weiterhin Dateien zwischen der Lösung kopieren möchten, sollten Sie die Klasse in beiden Projekten in den gleichen Namespace einfügen.

+0

ja, ich habe das entdeckt, aber immer noch keine Chance, ... Ich werde versuchen, Ihre Idee über das Hinzufügen einer DLL. –

+0

Danke! es funktionierte. Vor der Antwort habe ich versucht, ihnen den gleichen Namespace zu geben, aber sie in zwei verschiedenen Projekten zu belassen, aber nicht funktioniert, aber den Code in eine DLL zu verschieben und sie aus demselben Projekt zu referenzieren, hat die Arbeit getan! –

Verwandte Themen