2009-05-20 11 views
0
gegeben

in einem .NET-Projekt, zwei Formulare erstellen {Form1, Form2} und auf jedes Formular eine Grund Taste {Button1}zugreifen kann „Formulare“ wie .NET Formen behandelt werden, beispielsweise innerhalb

Auf [Form1 erstellen diesen Code] verwenden:
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim myform As New Form2 
    myform.Show() 
End Sub 

End Class

und auf [Form2]:
Public Class Form2

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Close() 
End Sub 

End Class

So ist die Frage Ich versuche, dies herauszufinden: Gibt es erlauben, Microsoft Access diese Art der Sache? Es ist für eine interne App, und ich versuche herauszufinden, wie Benutzer mehr als ein Formular gleichzeitig öffnen können, ohne auf {copy form_a} {paste form_a als form_b} {erkennen, ob form_a bereits ist Wenn sie auf die Schaltfläche show_form klicken, und wenn ja, starte form_b, sonst starte form_a} {wiederhole ad-nauseum für form_c bis form_infinity}

Ok, also wenn ich es nicht in Access machen kann, ist das in Ordnung, [beginne rant] an diesem Punkt versuche ich bereits, einige wirklich schlechte UI Entscheidungen zu treffen, sowie einige schlechte Tabellenentwürfe. Die ursprünglichen Entwickler hatten keine Ahnung, was eine Schnittstellentabelle ist oder warum sie sogar im Entferntesten nützlich sein könnte. Und das hat ungefähr 8 Jahre Live-Daten drin, also habe ich schon einiges an Arbeit zu erledigen, um die Dinge einigermaßen gut funktionieren zu lassen. [End rant]

Danke fürs Zuhören und vielen Dank für wirklich gute Hinweise zu "hier ist die Google-Suche URL-Link, den ich fand, die wirklich gab mir die beste Antwort auf Ihre Frage" natch, im Gegensatz zu "RTFM n00b" ;-)

Darüber hinaus ist dies mein erstes Mal auf Stackoverflow, obwohl Ich versuche, so viel wie möglich von dieser fabelhaften Benutzeroberfläche zu lernen, ich denke, ich habe etwas falsch an der Formatierung getan, so dass alle Zeiger würde auch geschätzt werden ...

+0

Mit anderen Worten, Sie möchten mehrere Instanzen des gleichen Formulars erstellen, nicht nur um Form2 von Form1 zu öffnen, oder? –

+0

Für Vollständigkeit und Klarheit, obwohl Tiberiu bereits die folgende Frage beantwortet: Ja, das ist genau das, was ich tun möchte, und "mehrere Instanzen" sprang nicht an die Spitze meiner Gehirn-Fall. – jcolebrand

Antwort

1

Wenn alles, was Sie wollen ist Erstellen Sie mehrere Instanzen derselben Form, es scheint quite a few articles out there bereits darüber zu diskutieren.

+0

Danke, danke, ... Ich konnte "mehrere Instanzen" aus irgendeinem Grund nicht aus meinem Kopf ziehen. Perfekt, einfach, einfach! – jcolebrand

2

Ja, Sie können mehrere Kopien desselben Formulars öffnen.

'verwendet, um das DailyFieldTicket Formular zu öffnen oft

öffentliche frmDFT A Form

Set frmDFT = New Form_DailyFieldTicket 
frmDFT.SetFocus 

Hinweise:
- Wenn der frmDFT ist eine Variable in einer anderen Form definiert, und Sie schließen die andere Form dann schließt sich diese Instanz der Form abrupt.
- Wenn Leerzeichen im Formularnamen vorhanden sind, müssen Sie sie durch _ ersetzen. Wenn Sonderzeichen im Formularnamen verwendet werden, kann es zu Unmut kommen. Ich erinnere mich nicht an die Details jetzt. Ich stelle jetzt sicher, dass diese Formulare ohne Leerzeichen oder nicht-alphanumerische Zeichen nur auf der sicheren Seite benannt werden. - Ich kann mich jetzt nicht erinnern, was mit OpenArgs passiert. Es kann die Openargs der ersten geöffneten Form erben, die Verwirrung verursachen können. - Ich erinnere mich vage an ein Problem mit Variablen im Code, aber das war vor 3 oder 5 Jahren, so dass ich die Details falsch einschätze.

Danke für die Nachfrage. Dies gibt mir eine weitere Seite auf meiner Website oder Blog Posting zu erstellen.Ahh, ich sehe, Allen Browne hat bereits eine anständige Seite zu diesem Thema.

+0

Wenn Sie einen Weg finden können, Leuten wie mir zu helfen, Instanz zu korrelieren und "x = new y" zu setzen, dann denke ich, dass Sie so viel tun werden, wie getan werden könnte ;-) Sicher sicher, es ist wie eine Wörterbuchdefinition, mit Ausnahme der Wörter, an die man sich nicht erinnern kann, wie man sie buchstabiert ... – jcolebrand

+0

Hier hilft es, kompetente Antworten zu bekommen. Ein Teil der Hilfe-Leute, die Fragen beantworten, besteht darin, die Frage in den Benutzerbegriffen zu den Produktbegriffen zu übersetzen. Und ich hatte mich selbst vergessen, dass der offizielle Begriff eine Instanz war. Ich musste den Code in einem System nachschlagen, das ich für einen Kunden erstellt habe. FWIW dieses System ermöglicht es dem Benutzer, in einem Pickup Truck in einem Ölfeld Bohrstelle sitzen, erstellen Sie ein tägliches Feld Ticket mit Dozer und Grader Nummer, Tarif und Stunden, etc und dann per E-Mail das PDF an den Kunden rechts und dann via eine Zellkarte im Laptop. –

Verwandte Themen