Wieso so weit schweifen wenn doch die Lösung so nahe ist (betreffend AnimateWindow).
Hmm Du hattest geschrieben dass es auf Deinem Rechner richtig aussieht... daher mein Tipp.
So wie Du jetzt schreibst hätte die Darstellung auch auf Deinem Rechner falsch sein müssen.
Eine Antwort ist selten besser als die Informationen welche Du uns zur Verfügung stellst.
Gruss Programmierhans
Wenn es auf deinem Rechner ok ist... auf dem Zielrechner aber nicht, dann hast Du ev. keine Standard-Schrift verwendet (also keine die auf dem Zielrechner exisitert)...
Nimm ein Standard-Schrift.
Schon mal was fon Font-Fallback gehört ?
Wenn der gewünschte Font auf dem Zielrechner nicht vorhanden ist, dann wird ein ähnlicher Font verwendet... da ähnlich aber nicht identisch ist... sieht dann das Ergebnis bescheiden aus.
Lösung: Nur Standardschriften verwenden die auf allen Rechnern per Default vorhanden sind.
Kannst Du mit Reflection lösen.
Type.GetEvents...
Suchst Du Beispiel in der Hilfe (Stichwort GetEvents).
Merkst Du auch im FormClosing-Event.
e.Reason ....
Sofern Du kein DoEvents verwendest wird A durchlaufen und erst dann B
1.) habe nicht alles gelesen
2.) habe im Moment keinen Zugriff auf Entwicklungsumgebung
Daher ein Schuss aus dem Bauch..
Sobald die Anwendung hängt kannst du doch in der Entwicklungsumgebung auf Pause / unterbrechen klicken.
Und dann im Threads-Fenster nachschauen wo sich die einzelnen Threads im Code befinden... und dann im Einzelschritt weiter... dann wirst Du sehen ob sich jeder Thread noch bewegt...
Gruss
Programmierhans
Auch bei voller Auflösung (1920 * 1080) kein Ruckeln.
Eine gute Grafikkarte ist Gold Wert.
Unter XP habe ich auf meinem 30" Montitor auch kein Ruckeln trotz abartiger Auflösung von 2560*1600...
Unter Windows 7 ruckelt es eher mal (unter XP würde es mit dem neusten NVIDIA-Treiber auch ruckeln... aber meine ältere Treiberversion (leider nur für XP) ruckelt gar nicht).
Gruss
Flughans
Der ReceiveCallback mit 0 bytes ist sozusagen der Close-Event des sockets. Das habe ich net gewusst deshalb die exceptions
Frage: Kommt der auch wenn Du den Stöpsel ziehst (also die Netz-Verbingung einfach unterbrichst) ?
PS: Interessiert mich einfach... und da Du schon eine Testumgebung hast...
PS.: Programmierhans : Die Festplatte bekommt auch eine Windows-Partition mit Flugsimulator drauf 😉
😃 aber sicher ... würde ich auch machen.
Wenn ich JOIN ausführen würde dan....
Mein GUI ist dann aber TOD... das will ich verhindern...
Jezt Application.DoEvents(); Wird GUI jedesmal aktualisiert nur Prozeslast ist sehr hoch....JOIN() habe ich nie angewendet.
Es wurde alles geschrieben was nötig ist... mehrmals wurdest Du auf die richtigen FAQ's verwiesen.
Alles nur aufgewärmtes Zeugs...
War ja auch nur ein vorsorglicher Hinweis... damit wir nicht mit sinnfreien Informatikaufgaben aus der Schule überschwemmt werden.
Mach den Datentyp des Parameters der Methode Ausgabe als object...
Dann innerhalb der Methode den übergebenen Type auswerten und entsprechend casten.
Vorsorglich: Bitte die FAQ beachten ... wir sind nicht da um Deine Hausaufgaben zu lösen. [Hinweis] Wie poste ich richtig? Punke 4a-4c
InvokeRequired vergleicht die ThreadId's von Gui und Aufrufer und gibt true zurück wenn die zwei verschieden sind.
Invoke führt dann den Code im UI-Thread aus (denn nur der UI-Thread darf auf das GUI zugreifen...)
Steht alles in der FAQ auf die herbi schon verwiesen hat.
Innerhalb der GetTachometerConfigurations und der GetProgressbarConfigurations führe ich außerdem die Zuweisung an die Controls aus.
Und dies alles läuft dann natürlich wieder im GUI-Thread ab...
Ergo läuft 98% von allem im Gui-Thread ab... aufgrund der häufigen Threadwechsel wird der Code so sogar noch länger "hängen" als wenn Du alles synchron machen würdest.
Edit: Nachtrag...
Mach doch im GetTachometer... usw. die UI-Zugriffe mit BeginInvoke statt Invoke... und siehe da das Ding geht plötzlich ab wie Rakete.
Sobald das Controls am neuen Ort aufschlagen erhalten diese vermutlich den BindingContext des neuen Containers... somit sind vermutlich die Bindungen tot...
Ich will keine GUI der anderen Form verändern oder abfragen - wieso brauch ich dann Invoke, Events und weiß was der Geier...
Im Link sind auch SubLinks mit Verweisen auf Beispiele drin... z.B: Unterschied zwischen Show und ShowDialog ... mehrfache instanzierung usw.
BlueToth
ActiveSynch sind Kandidaten
Gemäss MSDN:
Das erste Element des Arrays enthält den Dateinamen des ausgeführten Programms. Wenn der Dateiname nicht verfügbar ist, ist das erste Element gleich String..::.Empty. Die restlichen Elemente enthalten die zusätzlich in der Befehlszeile eingegebenen Token.
Falsch:
Application.Run(new frmMain(args[0]));
Richtig:
Application.Run(new frmMain(args[1]));
marquee ist das Stichwort falls Du googeln willst.
Von Form2 auf Form1 zugreifen.
[FAQ] Kommunikation von 2 Forms
@michlG
Finde diese FAQ passt besser.
@vbprogger
Das Problem ist, dass die StringFormatFlags-Enum auf dem Mobile Teil nur 2 Einträge enthält (NoClip / NoWrap oder so ähnlich)...
Das wird mit keiner der genannten Ueberladungen funzen.
Ist e.Item nicht bei beiden Events derselbe Type ?
Dann übergibst Du e.Item in die Methode in welcher Du den Code hast.
So wie es talla geschrieben hat.
Dann wünsche ich Dir immer mindestens eine Handvoll Luft unter den Kufen oder den Blades (z.B: im Rückenflug).
Gruss
Helikopterhans
@BerndFfm
Sicher geil auf dem Beamer Heli zu fliegen 😃
Vermutlich noch geiler als auf meinem 30" Monitor mit 2560*1600 Auflösung...
Gruss
Programmierhans
Oder noch einfacher
Ruf im Event der Com-Schnittstelle eine Methode auf und übergib was vom Com reinkommt.
Zum testen rufst Du dann einfach direkt diese Methode auf und übergibst Testdaten..
Ich mache das täglich so 😃
Gruss
Programmierhans
Ev. suchst du aber auch nur die self-relation (also einen Bezug zur eigenen Tabelle)
Der Servermanager hat ja nur gemotzt dass zu zwei Felder mit demselben Namen hast.
Im Prinzip könnte man dies mit einer self-relation abbilden (ob es sinnvoll ist sei dahingestellt). Self-relations werden normalerweise eingesetzt um Hierachien abzubilden.
Beispiel:
Felder:
PKPerson --> ist PrimaryKey
FKPerson --> die Bezugsperson
FKBeziehungstyp --> referenziert den PK der Beziehungstabelle (ledig / verheiratet)
Name
Vorname
...
Wichtig dabei ist, dass PKPerson der Key ist (FKPerson gehört nicht in den Key).
Daten:
PKPerson FKPerson FKBeziehungstyp
1 2 verheiratet
2 1 verheiratet
3 Nul ledig
4 Nul verheiratet (aber Partner nicht in dieser DB)
So kannst Du auf jedem Record über die FKPerson auf den Partner zugreifen.
Das Problem bei so einer Lösung ist dann einfach, dass man sich so auch in eine Sackgasse manövrieren kann (Hat Khalid ja beschrieben (Vater / Kinder / Enkel).
Gruss
Programmierhans
das ist jedoch OS-weit und nciht anwendungsspezifisch. hat der user also einfach nur die mouse bewegt (nicht in deiner anwengung), gilt das als input und die lastinputtime wird neu gesetzt
Nur auf die eigene Anwendung bezogen muss man selber bauen.
Man kann sich hierfür einklinken:
Einen MessageFilter bauen:
private class ApplicationIdleMessageFilter : System.Windows.Forms.IMessageFilter
Dann in der ApplicationIdleMessageFilter-Klasse im PreFilterMessage die Message auswerten (immer false zurückgeben) ... und z.B einen Timer resetten.
Diesen MessageFilter muss man dann nur noch in die Pumpe reinhängen und fertig.
System.Windows.Forms.Application.AddMessageFilter(... die Instanz des Filters)
Also eigentlich ganz einfach (wenn man weiss wie)
Gruss
Programmierhans
Du brauchst
WebRequest und System.IO.File - Klassen
Guckst Du in die Hilfe und baust dir was zusammen..
Gruss
Programmierhans
Für einen ersten Test soll er doch das Tag verwenden.
Und wenn man es richtig machen will, dann vererbt man den Button und macht alle Daten auf den Button drauf (nicht nur den Index)... und spart sich so dann das Auslesen aus einer Liste usw.
Beim erstellen der Buttons schreib den Index in das Tag-Property des Buttons.
btn45.Tag=44;
im Event zuerst auf den Button Casten.
Button btn=(Button)sender;
Und dann kannst Du natürlich auch den Index wieder auslesen.
int intIndex=(int)btn.Tag;
@BerndFfm
Bei uns ist es 850... korrekt.
Schon gesehen: CultureInfo.CurrentCulture.TextInfo.OEMCodePage ? da müsste die verwendete drin stehen (falls es mal nicht 850 ist).
Gruss
Programmierhans
Der Einwand von ErfinderDesRades war absolut gerechtfertigt... man sieht Deinem Code nicht an, dass Du in den Catches was drin hast...
Und vorallem Umsteiger von VB (nicht .Net) haben in VB mit On error resume next gearbeitet und machen dann in .Net leere Catches...
@pogo nicht gleich beleidigt sein... sonst drücke ich das noch grössere Y und mache hier zu. 😉
Gruss
Programmierhans
Encoding.Default schon probiert ?
Schon probiert ?
openSheet.Visible=false;
Such mal nach "BackupRead" (so heisst die API-Function)...
Findest Du sicher Beispiele im Netz um so was zu lösen.
Mach Dir eine Klasse.
eine Methode ToByteArray.... diese erstellt dann erst das Array aufgrund des Strings.
--> das ByteArray somit immer erst dann erstellt wenn Du es brauchst (und muss somit bei Anpassungen des Strings nicht mitgepflegt werden.
Dürfte so wohl nicht direkt gehen.
Aber mit Graphics.MeasureString kannst Du rausfinden ob der Text mit der gewählten Schrift Platz hat... ansonsten FontSize runterschrauben und neu testen bist es passt.
Such mal in der Hilfe nach Postbuild
Mach eine Solution mit den beiden Projekten (B referenziert das Projekt A statt das Dll von A).
Dann kriegst Du alles gratis.
Gruss
Programmierhans
Mach mal nach jedem Befehl ein ; rein.
Dann beim Empfangen den string am ; splitten (mit stringsplitoptions keine leeren).
Mit foreach über alle Lines...
So sollten die nahe aufeinander treffenden Befehle sauber getrennt werden.
Mp3 Stream abspielen
Mp3 Stream abspielen
Edit: Der zweite Link verweist auf denselben Thread (allerdings geht es in dem anderen Beitrag um den notify)... daher sind zwei Link drin.
Allerdings muss du für weitere Operationen dann immer mit diesen DefaultView verwenden, da der DataTable selbst nicht sortiert wird.
Per Default wird beim DataBinding eh auf den View gebunden (auch wenn man die DataTable übergibt)... das passt schon 😃
Zeile auskommentieren... Bild im Designer neu zuweisen... speichern fertig.