Ich habe für meine Anwendung ein PlugIn -System entwickelt. Prinzipiell wird über eine Funktion aus einer bestimmten Klasse der PlugIn-dll eine Klasse geladen, die von Usercontrol abgeleitet ist.
Befindet sich aber in dieser Usercontrol-Klasse das WindowsMediaPlayer-Control (AxWMPLib.AxWindowsMediaPlayer), bekommt man beim Start der Applikation immer eine Exception:
Could not load file or assembly 'AxInterop.WMPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Das System kann die angegebene Datei nicht finden.
Die beiden notwendigen dlls befinden sich aber im gleichen Ordner wie die Plugin-dll, die das Control benutzt. Ich weiß nicht genau wo er nach AxInterop.WMPLib sucht, er schreibt auch nicht in den Details der Exception.
Ich hoffe mir kann jemand helfen..... danke im voraus
Es geht um die Text-Property des Buttons. Als ich noch mit System.Windows.Forms.Button geaebeitete habe, wurde es korrekt angezeigt. Nun verwende ich ich eine davon (von System.Windows.Forms.Button abgeleitete Klasse und statt "Ok" steht im Designer "MyNamespace.MyButton".
Ein TableLayoutPanel ist keine Tabelle, sondern ein unsichtbares Panel, in das man andere Controls reinlegen kann. Dann kann man wie bei einer Tabelle Spalten- und Zeilenbreiten einstellen und die Controls darin werden entsprechend ausgerichtet.
Schau dir mal GridView oder sowas an.
Shava schrieb:
SeboStone schrieb:
aber ich habe ja keine Ahnung con XML.
Kann schon sein, kann ich nicht beurteilen, aber von "bitte genauer" weiß ich es nun.
was ist eigentlich dein problem? du postest hier fehlerhaftes xml mit einer schwammigen fragestellung und beschimpfst dann diejenigen, die dir helfen wollen.
wenn du der welt zeigen wolltest, was für ein arrogantes arschloch du bist: glückwunsch, das hast du erreicht.
Nein, du brauchst nur für die DB-Abfrage einen zusätzlichen Thread, den Button fragst du ganz einfach in deinem Hauptthread (Formular) mittels des OnClick-Events ab und stoppst damit dann den DB-Thread.
Wenn du .NET 2.0 benutzt, schau dir mal die Klasse BackgroundWorker an.
Zunächst einmal wäre es interessant zu wissen was du so probiert hast. Sprich Code!
Nunja.
Wieso nutzt du nicht das buttonpressed Ereignis. Oder das down/up Ereignis?
Am einfachsten generierst du den Eventhandler mit dem Designer.
Hab es jetzt selbst gelöst indem ich in die Position der Gruppen anhand des TopItems der Gruppe,das ich vorher raussuche,berechnet habe und in MouseDown gucke ob der Punkt drinliegt und dann ein Event aufrufe.
Hi!
ich habs jetzt mal mit der statischen Klassenvariablen ausprobiert und ich bin zu dem Schluss gekommen, dass es so einfacher ist.
Vielen Dank und Viele Grüße, Gast2
Die anderen Fragen hast Du Dir ja schon selbst beantwortet (das .NET-Verhalten scheint buggy zu sein?).
Coder2 schrieb:
Dann noch die Sache mit dem Split: Was passiert mit Texten, wo nur \n ist, wird das dann auch funktionieren?
Ja. Das char-Array sorgt dafür, dass jeder der dort angegebenen Chars ein mögliches Split-Zeichen ist (d.h. sowohl Unix-, als auch Windows- und Mac-Style-Zeilenumbrüche werden erkannt). Dadurch würden natürlich für einen Windows-Zeilenumbruch (\r\n) ein leerer Eintrag erzeugt, der aber durch den letzten Parameter des Aufrufs entfernt wird.
mono-project.org faq schrieb:
Can Mono run binaries produced by Visual Studio?
Yes, Mono can run binaries produced by Visual Studio, there is no need to recompile.
Generell scheint mono .net2.0 in meinen Augen gar nicht soo übel hinterher zu sein:
http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/
...speziell Windows.Forms ist eigentlich ziemlich weit.
Hallo!
Vielen Dank! Jetzt funktioniert es wunderbar und ich hab sogar noch n bisschne was gelernt ;-))
Finde cool, dass ihr auch Anfängerfragen beantwortet und man sich nicht unbedingt registrieren muss um hier zu posten!
Danke nochmals, ciao
Nochmal der Vollständigkeit halber: der obige Code ist ja nur fast richtig. Daher hier mal das genaue Äquivalent dessen, was ein using-Block macht:
{
SomeClass idisp = new SomeClass();
try {
// Do something.
}
finally {
if (idisp != null)
idisp.Dispose();
}
}