C# Weitere partial class der Windows Form anlegen

Thaxll'ssillyia

Captain
Registriert
Dez. 2007
Beiträge
3.568
Hallo Community!

Ich steh vor einem Problem mit Windows Forms.
Wenn man von diesen eine neue anlegt, hat man ja eine partial class, da manche Methoden wie InitializeComponent in die Form1.Designer.cs abgelegt werden.
Ich möchte nun auch ein paar zusammenhängende Methoden von der Form1.cs aus Gründen der Übersichtlichkeit in eine eigene Datei schreiben.
Also leg ich eine neue Klasse an, benenn diese in "partial Form1" um und habe nun das Problem, dass ich nicht auf die Eigenschaften und Methoden der Form1.cs und Form1.Designer.cs zugreifen kann.
Lustigerweise wird aber die Datei im Solution Explorer mit einem Forms-Symbol versehen und hat auch eine eigene (leere) Oberfläche.

Wer kann mir helfen? Vielen Dank für Hilfe!


Gruß Thax
 
Zuletzt bearbeitet:
Das ist meine Mainform (in der Mainform.cs):

Code:
namespace ProjectX
{
    public partial class MainForm : Form
    {
        Data Daten;
        public MainForm()
        {
            InitializeComponent();
        }
        private void MainForm_Load(object sender, EventArgs e)
        {

        }
    }
}

und das meine neu erstellte Klasse (in der Datei Mainform_Other.cs):

Code:
namespace ProjectX
{
    partial class Mainform
    {
        
    }
}
 
Selbst wenn ich das mache (was man imo aber nicht wegen des partial nochmal schreiben muss), ändert sich nix daran, das ich nicht auf die Eigenschaften oder Methoden der Mainform zugreifen kann.
 
Aha, muss ich jetzt nen neuen prozessor kaufen? :(

Nee, Spaß beiseite, hast du es so gemacht wie ich oben beschrieben?
 
Neue datei hinzugefügt, klasse umbenannt und mit partial behaftet.
Ne methode eingefügt und dann mit "this." auf jede eigenschaft zugegriffen, ohne probleme
 
Ja, wenn man natürlich keine Methode anlegt, wird das nix. :rolleyes:

Dankeschön!

-----------------------------

Andere Frage: Ich habe mal probiert, ein paar selbst erstellte Klassen in einen Ordner, den ich im Hauptverzeichnis angelegt habe, zu verschieben. Allerdings kopiert diese die Entwicklungsumgebung bei jedem Start wieder in das Hauptverzeichnis.
Wie kann ich zb. meine 7 Forms dauerhaft in einen eigenen Ordner parken?
Dabei muss ich noch erwähnen, dass ich den TFS nutze, und dabei das Projekt beim Start in meinen lokalen Ordner geladen wird.
 
Geht bei mit auch:

Form1.cs
namespace TestApp1
{
public partial class Form1 : Form
{
public int a = 1;
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Do();
label1.Text = a.ToString();
}
}
}

Form1_other.cs:
...
namespace TestApp1
{
partial class Form1 : Form
{
public void Do()
{
a++;
}
}
}

Vielleicht ein neues Visual Studio verwenden? Ich habe VS 2008 Prof.
 
Vielleicht ein neues Visual Studio verwenden? Ich habe VS 2008 Prof.

nene, ich hab mich bloß doof angestellt. Nutze bereits VS 2010 Ultimate ;)

Das mit dem Verschieben habe ich nur lokal hinbekommen. Wie mach ich das auf dem TFS, bzw. der Source Control? Ich hab zwar dort den neuen Ordner mit den Forms angelegt, aber wie erkläre ich dem Server jetzt, dass er die Dateien im Ordner verwenden soll statt die im hauptverzeichnis?

Vielleicht sollte ich dazu ein neues Thema aufmachen.

Ok, es geht über Rechtsklick -> Move. Wenn auch nur für eine Datei.
 
Zuletzt bearbeitet:
Zurück
Oben