Fehlermeldung: Zugriff auf ... aufgrund Sicherheitsebene nicht möglich.

  • geschlossen
  • C#

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fehlermeldung: Zugriff auf ... aufgrund Sicherheitsebene nicht möglich.

    hallo leute,

    ich bin gerade dabei mir ein kleines programm zu schreiben.

    dabei hab ich 2 Forms (Form1 und NewProg).

    meine erste frage: wenn ich aus Form1 heraus das NewProg Form starten will, dann mach ich das doch mit:

    Quellcode

    1. Form frm = new NewProg();
    2. Application.Run(frm);

    oder?

    meine zweite frage:
    wenn ich von form1 aus auf das NewProg Form zugreifn will, dann mach ich das doch mit:

    Quellcode

    1. Prog_Pfad.AddToView([B]NewProg.txtBrowse.Text[/B], listView1, txtLog.Text);

    richtig?

    bei mir gibt der immer die fehlermeldung:
    Der Zugriff auf "Programm_Manager.NewProg.txtBrowse" ist aufgrund der Sicherheitsebene nicht möglich.

    was mach ich falsch?

    mfg
    ani
  • Ich bin zwar kein C# Profi, aber ich vermute es läuft folgendermaßen:
    Du fügst die 2. Form als Membervariable der 1. Form hinzu (die Variable würde ich z.B. frmNewProg nennen) Anzeigen dürfte dann in etwas so laufen: frmNewProg.show();. Und auf die Member der Form kannst du dann mit frmNewProg.abc zugreifen. Du darfst nicht vergessen, die Var frmNewProg zu initialisieren (könntest du im Konstruktur von Form1 machen)

    ...so könnte es zumindest aussehen.
  • Hallo Animal21!

    Ich nehme an, dass du in der Form1 ein Button (in meinem Beispiel heißt dieser Button ShowNewProg) hast, das die Form NewProg aufrufen soll.
    Definiere für dieses Button ein Click-Event (Einfaches Doppelklick auf ShowNewProg-Button in Visual Studio in der Entwurfsansicht von Form1).
    In der von Visual Studio erstellten Funktion ShowNewProg_Click schreibe dann einfach Folgendes rein:

    Quellcode

    1. private void ShowNewProg_Click(object sender, EventArgs e)
    2. {
    3. NewProg newprog = new NewProg();
    4. newprog.Show();
    5. }



    Ich hoffe, dass es Dir weitergeholfen hat.
    MfG
    netmig
  • Also ich hab auch nicht viel mit C am Hut aber schau mal nach ob NewProg die Eigenschaft .Show hat.

    Das Gegenstück wäre .Hide :)

    Wenn du unbedingt NewProg erst im Runtime erstellen willst dann musst du es aus dem Project Code erstmal rausnehmen und dann irgendwo bei der Form1 sowas hier einfügen:

    Application.NewProg.Create();

    Wie gesagt kenne mich mit C nicht aus aber ich denke das es dir weiterhelfen könnte.
  • Ich würde das so machen:

    Quellcode

    1. NewProg frmNewProg = new NewProg();
    2. frmNewProg.Parent = this;
    3. frmNewProg.Show();


    um dann aus dem NewProg auf Form1 zuzugreifen musst du nur das macgen:

    Quellcode

    1. Form1 frmEins = this.Parent;


    Dann kannst auf alle Member zugreifen