2017-01-15 3 views
0

Ich habe ein einfaches "Notepad" -Programm erstellt, das Textdateien liest und schreibt. Eine andere coole Sache ist, dass jedes Mal, wenn ich auf die gespeicherte Datei doppelklicke, es mein Programm öffnet und den Inhalt auf meiner RichTextBox (genannt "Bereich") schreibt. Dies ist, was gemacht ist das passiert:C# - Öffnen der Textdatei über ein anderes Formular (Beschreibung lesen)

In Program.cs i

Application.Run(new Form1(args)); 

Next in Spalten 'args' hinzugefügt in meinem Form1.cs Ich habe diesen Code

public Form1(string[] file) 
    { 
     InitializeComponent(); 
     area.DragDrop += new DragEventHandler(area_DragDrop); 
     area.AllowDrop = true; 
     if (file.Length != 0) 
      pathstart = file[0]; 

    } 

string pathstart = null; 
private void Form1_Load(object sender, EventArgs e) 
    { 
     if (pathstart != null) 
     { 
      area.LoadFile(pathstart, RichTextBoxStreamType.PlainText); 
     } 
    } 

Nun, das funktioniert alles gut.

JETZT

habe ich ein neues Formular (das sich öffnet, wenn Programm gestartet wird), das ist nur Benutzerauthentifizierung

Und statt dessen

Application.Run(new Form1(args)); 

ich jetzt haben Sie diese

Application.Run(new identy(args)); 

Das Problem hier ist, dass jetzt, wenn ich auf meine gespeicherte Datei doppelklicke, wird der Inhalt in RichTextBox ('Bereich') nach der Authentifizierung nicht geöffnet.

Irgendwelche Ideen, wie kann ich das schaffen?

Antwort

1

Sie die Identität Form nicht initialisieren, zu initialisieren Form1 zurück:

Application.Run(new Form1(args)); 

Dann aus dem Form1 Konstruktor erstellen und die Identität Form angezeigt werden, wie folgt aus:

public Form1(string[] file) 
{ 
    InitializeComponent(); 
    area.DragDrop += new DragEventHandler(area_DragDrop); 
    area.AllowDrop = true; 

    identity ident = new identity(); 
    ident.ShowDialog(); 

    if (ident.Authenticated) 
    { 
     if (file.Length != 0) 
      pathstart = file[0]; 
    } 
} 

Erstellen Sie eine Eigenschaft in der Identklasse/-formular mit dem Namen Authentifiziert, und legen Sie den Wert entsprechend fest, nachdem Sie die Anmeldeinformationen überprüft haben:

+0

Yup, das hat funktioniert. Danke: 3 –

Verwandte Themen