Set einfach ein Breakpoint an der Startenden stelle und Starte die Applikation mit F5.
Sobald der Code an dem Breakpoint angelangt bleibt es stehen und du hast dann verschiedene Möglichkeiten:
F10 - Ein schritt weiter
F11 - In die markierte Methode rein Springen
F5 - Zum nächsten Breakpoint normal weiter laufen lassen
MouseOver Variablen - Zeigt Inhalt
Watch N - Variable in den Watch ziehen um sie dauerhaft schnell zu beobachten ohne die Maus zu benutzen.
Das meiste kommt intuitiv beim benutzen.
Es gibt noch mehr Möglichkeiten, das sind nur so die ersten die man immer braucht.
Meine Visual Studio tasten die ich am meisten benutze:
CTRL+ALT+Space
CTRL+Shift+Space
CTRL+.
F1
F2
F5
F6
F10
F11
Man kann es in den Eigenschaften des Forms ändern, ganz ohne Quellcode.
Allerdings nur für Minimieren und Maximieren, wenn du den Schließen Button auch noch weg haben willst, dann wirst du das so machen müssen wie Th69 gepostet hat.
Die Eigenschaft heißt FormBorderStyle um fest zu legen welchen "Typ" das Form (Fenster) haben soll und dann kannst du noch entsprechend MinimizeBox und MaximizeBox setzen.
// edit:
Hier ist noch ein Link aus der MSDN wo das auch noch alles etwas erklärt steht.
Form.FormBorderStyle-Eigenschaft
Man kann aus einem etwas konstruieren, was ein äquvaltent zum anderen ist (d.h. man braucht nur eins nicht beide gleichzeitig)
In Java gibt es Interfaces als Delegateersatz (siehe Eventlisters etc.)
und umgekehrt (vermutlich) monads.
@ Mario Priebe
Sorry, wollte dir nichts unterstellen, der Code hat sich halt teilweise sehr geähnelt, was ich mit der Verwendung des Worts "abgeschrieben" ausdrücken wollte. Dies war jedoch völlig ohne negative Wertung meinerseits gedacht.
Zitat: "Ich finde solche Behauptung ehrlich gesagt etwas gewagt und so nicht in Ordnung. Ich habe dir in meinem Blog Unterstützung angeboten und muss dann so etwas lesen..."
An der genannten Konversation war ich nicht beteiligt. Trotzdem nochmal danke für deinen Blog, hat mir schließlich auch geholfen.
Benutze <probing> in der app.config:
<probing privatePath="subdir" />
Näheres dazu s. MSDN: http://msdn.microsoft.com/en-us/library/823z9h8w(VS.80).aspx
Zerstoerer schrieb:
Hallo c# Community,
nehmen wir an ich instanziiere ein Objekt eine X-Belibiegen Klasse welche IDisosable implementiert.
Die Dispose Methode ruft
GC.SuppressFinalize(this);
"
So, nun is der GC informiert, das Objekt wenn die Ziet da is zu löschen.
aber ich könnte ja immer noch auf variablen bzw. referenze des Objekt zugreifen, weil es ja nich null ist.
Das ganze is dann wohl nich mehr deterministisch???
hier mal der Code meine Disposable Pattern:
Es gibt zwei Situationen wann Dispose aufgerufen wird: Entweder automatisch von der GC wenn Sie die Objekte aufräumt oder manuell vom Entwickler wenn er das Objekt nicht mehr braucht.
Im ersten Fall kannst Du auf das Objekt nicht mehr zugreifen weil dieser nur eintreten kann nachdem keine Referenzen mehr vorhanden sind.
Im zweiten Fall ist es ein Programmfehler des Entwicklers wenn er ein Objekt manuell Disposed und danach weiter darauf zugreift.
Dann wird das Event in den selben Abständen gesendet wie die Daten bisher geholt werden
Nur mit dem unterschied das das Event nicht gesendet wird wenn nichts da ist
Aber mal ehrlich, ich halte es für deutlich sauberer wenn man Bescheid bekommt wenn Daten rein kamen statt in regelmäßigen Abständen danach zu fragen.
Bei der ersten Post (Variante) brauch ich ein fenster, um über die entsprechende Winapi Funktion an die "WinProc" zu kommen:
[PermissionSet(
SecurityAction.Demand,
Name = "FullTrust")]
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_DEVICECHANGE)
{
var id = m.WParam.ToInt32();
if (id == DBT_DEVICEARRIVAL)
{
OnUsbDeviceArrived("DBT_DEVICEARRIVAL");
}
else if (id == DBT_DEVICEREMOVECOMPLETE)
{
OnDeviceRemoved("DBT_DEVICEREMOVECOMPLETE");
}
}
base.WndProc(ref m);
}
und über WMI .. hmm.. naja is auch net schön...
spacken schrieb:
omg setz den pc neu auf
genau
davon abgesehen halte ich das hier für rumgetrolle.
vielleicht auch die ausrede vom nächsten script kiddy wo mächtig tolles hack-tool pr0gg3rn will, dafür, warum es solche dinge fragt.
Hallo, also ich will mirn IRC Client schreiben, dazu benutz ich die samrtIRC4net API. Um das alles n bissl zu verstehen hab ich einfach mal ne Form Applikation gemacht und probiert aufn Server zu verbinden und dann automatisch n Channel zu joinen. Nur macht mir jetzt Listen() probleme, ich versteh nicht ganz was der Entwickler damit gemeint hat. Weil mit Listen() geht es aber die Form pop nicht auf und ohne gehts ned aber die Form ist da. Hoffe jemand kann Helfen.
Hier die Erklärung zu Listen() und ListenOnce():
// here we tell the IRC API to go into a receive mode, all events
// will be triggered by _this_ thread (main thread in this case)
// Listen() blocks by default, you can also use ListenOnce() if you
// need that does one IRC operation and then returns, so you need then
// an own loop
irc.Listen();
Hier sein Beispiel: http://www.pastebin.com/m54384789
Hier mein Versuch: http://www.pastebin.com/m20f7a4b9
Hi,
in einem project wurde eine gac dll geschrieben, diese soll aber in unmanged code genutzt werden.
Ein Workaround über Marshall Callbacks würde ich gerne vermeiden und der regasm export bringt mir nicht alle methoden/klassen mit.
Deshalb ist die frage ob es eine möglichkeit gibt im source der dll den export als COM der dll zu ermöglichen.
Seid gegrüßt