Form1_Load nicht reagiert, obwohl nach dem hinzufügen handler
Es ist schon eine lange Zeit, da habe ich versuchte mit C#, aber ich habe einen Teufel eine Zeit immer mein form_load Feuer. Dies ist die einfache Sache, ich kann mir nicht vorstellen, warum es nicht Feuer! Jede Hilfe würde geschätzt werden.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AppName_v4._0___TestRoom_Addon{
public partial class Form1 : Form{
public Form1() {
InitializeComponent();
this.Load += new EventHandler(this.Form1_Load); //FIRES!
}
private void Form1_Load(object sender, EventArgs e) {
webKitBrowser1.Dock = DockStyle.Fill; //DOES NOT FIRE!
webKitBrowser1.Navigate("http://192.168.0.10/?zoneid=11");
}
}
}
UPDATE
- Ich habe verwendet, Haltepunkte, um zu überprüfen, die Linie ist nicht seine
- Form zeigt
Ich habe auch versucht, die folgenden ohne Erfolg...
namespace AlphaEntry_v4._0___MailRoom_Addon{
public partial class Form1 : Form{
public Form1() {
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
webKitBrowser1.Dock = DockStyle.Fill;
webKitBrowser1.Navigate("http://192.168.0.10/?zoneid=11");
base.OnLoad(e);
}
}
}
UPDATE #2 ich war in der Lage, diese arbeiten durch entfernen und neu-hinzufügen der Verweise auf die WebKit-Kontrolle. Nicht sicher, was passiert. Vielen Dank an alle.
Haben Sie Lesen Sie die Informationen in der Ausgabe-Fenster?
Ja, ich sehe die Fehler, aber die Funktion wird nicht aufgerufen, auch ohne die
KORREKTUR: das sind alte Fehler und werden nicht angezeigt, nun habe ich räumte mein output-Fenster. Noch keine
(1) Wenn Sie entfernen WebKitBrowser1 aus dem Formular, funktioniert es? (2) ist ausgeführt mit HandleExceptionsAsThrown zeigen merkwürdige Ausnahmen verschluckt werden?
SON OF A B*!@#. Entfernen des Steuerelements aus dem Formular das problem behoben. Ich bin mir nicht sicher, warum der Teufel sein würde. Ich bin mit
Ja, ich sehe die Fehler, aber die Funktion wird nicht aufgerufen, auch ohne die
webKitBrowser1.*
codeKORREKTUR: das sind alte Fehler und werden nicht angezeigt, nun habe ich räumte mein output-Fenster. Noch keine
Form1_Load()
(1) Wenn Sie entfernen WebKitBrowser1 aus dem Formular, funktioniert es? (2) ist ausgeführt mit HandleExceptionsAsThrown zeigen merkwürdige Ausnahmen verschluckt werden?
SON OF A B*!@#. Entfernen des Steuerelements aus dem Formular das problem behoben. Ich bin mir nicht sicher, warum der Teufel sein würde. Ich bin mit
WebKit.NET
webkitdotnet.sourceforge.netInformationsquelleAutor Dutchie432 | 2011-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich, nur geklappt hat das gleiche Problem. Die Ursache sollte sein, dass Form1_Load-Ereignis wurde nicht ausgelöst, während die Form1 geladen wurde. Öffnen Sie Form1 in der Entwurfsansicht an, klicken Sie auf die Form1 Titel zu bekommen, klicken Sie auf "Veranstaltung" tag unter-Eigenschaft von Form1, 'Load' in der Liste der Eigenschaften finden Sie eine Liste der Ereignisse auf der rechten hand. Wählen Sie 'Form1_Load', es wieder aufzubauen. Sie können überprüfen, durch die Wahl eines anderen Ereignisses als Form1_Load um zu überprüfen, ob Form1_Load() aufgerufen wird oder nicht.
InformationsquelleAutor Stan Huang at Taiwan
Allgemeinen sehr viel bessere Verfahren ist, behandeln die überschriebenen virtuellen Methoden für interne Veranstaltungen statt registrieren für die gefeuerten event.
Wäre interessant, wenn diese nicht genannt.
Am Ende nicht die Lösung des Problems, aber ein guter Zeiger none-the-less. +1
Ich habe einen break-point in OnLoad, und fand, dass ich immer ein Fehler. Dies verhindert das load-Ereignis nicht aufgerufen wird. Also danke für den Tipp.
InformationsquelleAutor John Arlen
Hier ein workaround:
Geben Sie Ihren code direkt nach
InitializeComponent();
.Nach diesem Aufruf des Formulars privaten Felder initialisiert und Sie können die Interaktion mit den UI-Objekten.
Ich weiß, dass dies nicht die Antwort auf die Frage direkt, aber es sollte in den meisten Fällen.
InformationsquelleAutor Tamschi
Ich vermute, das problem ist nicht, dass es "nicht ausgelöst", sondern eher, dass der code in Frage ist nicht, Dinge zu behandeln die Weise, die Sie vermuten.
Setzen Sie einen Haltepunkt auf der "*
.Dock
" - Linie. Angesichts der obigen code, es sollte getroffen werden, sobald Sie diese form. Jedoch, da es eineForm.Load
Ereignis, das nicht passieren wird, bis eine Instanz der form tatsächlich angezeigt überform.Show()
.Wird das Formular angezeigt wird?
Ja, es ist. Screenshot: img200.imageshack.us/img200/3502/78122191.png
+1 für große Schritte zur Fehlerbehebung.
InformationsquelleAutor Reed Copsey
War ich in der Lage, diese arbeiten durch entfernen und neu-hinzufügen der Verweise auf die WebKit-Kontrolle. Nicht sicher, was passiert, aber der Kommentar von
John Arlen
lotste mich in die richtige Richtung. Vielen Dank an alle.InformationsquelleAutor Dutchie432
Ich kam hierher, um genau das gleiche problem. Sobald ich sah das update:
Wurde mir klar, was falsch in meinem Fall. Wie Scott, ich habe nicht getan, alle c# in eine Weile und hatte vergessen, ein Schlüssel detail.
Wollte ich einige einfache Beispiel-code, um zu überprüfen, ob listview gearbeitet, die Art, wie ich es brauchte. Die beste Dokumentation ist funktionierenden code, damit ich kopiert ein sample aus https://www.dotnetperls.com/listview . Befeuert VS2010 und einfügen den code in das Formular-Programm Visual Studio erzeugt auch für mich. Es lief, und bekam genau die gleiche Sache, ging Scott - ein leeres Formular mit einer leeren Liste.
Der Grund dafür ist, dass in Visual Studio, wenn Sie ein Steuerelement hinzufügen einer form, die Sie nicht automatisch bekommen alle event-Handler - form_load wird eine der fehlenden Handler. Erhalten Sie den code zum zeichnen der Kontrolle und das ist es. Um Windows mitzuteilen, dass Sie einen Ereignishandler für das form-load-Ereignis, das Sie hinzufügen müssen, um die
den code in InitializeComponent für die form. Diese Zeile fehlte, wenn ich fügte hinzu, die Kontrolle der form, so meine hf war nicht immer genannt.
Können Sie entweder fügen Sie die Zeile manuell oder gehen Sie in das design-Fenster in Visual Studio, und klicken Sie auf einen leeren Bereich auf dem Formular. Sie werden sehen, eine neue, leere stub automatisch generierte, sieht wie folgt aus:
Den Unterstrich-1 wird angehängt, um den Namen, weil ich hatte schon das nicht-funktionieren Form1_Load-routine.
Wenn du dann überprüfen Sie die form1.designer.cs-code, sehen Sie die dieser.load += .... Zeile wurde Hinzugefügt, um den code für die Initialisierung.
Manchmal einfache sample-code ist nicht so einfach.
InformationsquelleAutor Michael
Ein weiterer Grund für Sie nicht zum Feuer, wenn Sie mithilfe von Datenbindungen und Fehlern, weil Sie die geänderten Namen der Eigenschaft oder entfernten Eigenschaften.
InformationsquelleAutor Fred Stephens
Festgestellt heute, verwirrend auf den ersten. Nach der Lektüre dieses und ähnliche vorgeschlagen, Auflösungen, mein Geheimnis wurde freigeschaltet.
Erstens: wie ich schnell festgestellt, dass mein Problem - ich zog die.Last-event-Registrierung, die als erste Linie der InitializeComponent() in der designer-generierten code. Dann ist mein breakpoint erreicht wurde. Ich schaltete dann auf "Pause" für alle geworfen Ausnahmen, einschließlich der nativen. Dies führte mich direkt zu dem problem.
In meinem Fall die Aufnahme einer web-Kontrolle verursacht die Last auftreten, zu einem erstaunlich frühen Zeitpunkt, kurz nach dem Bau, wo mein code wurde geschrieben, mit der Annahme, die Last, die auftreten würde, wenn die Seite endlich aktiviert in die Benutzeroberfläche. Es wurde angewiesen, auf eine state-variable wurde noch nicht eingerichtet.
Andere Probleme, wie das fehlen einer abhängigen delay-loaded DLL, Ausnahme in einem vorgeschalteten Load-handler und so weiter, können alle zurückverfolgt werden auf diese Weise.
Nach der Fixierung, zog ich diese.Load() wieder zurück an seinen ursprünglichen Speicherort.
InformationsquelleAutor jws