Laden...
Avatar #avatar-2909.png
michlG myCSharp.de - Experte
Student + Programmierer Naturns - Südtirol - Italien Dabei seit 26.07.2007 3.430 Beiträge
Benutzerbeschreibung

Forenbeiträge von michlG Ingesamt 3.430 Beiträge

14.11.2010 - 17:45 Uhr

Hallo Ayke

Weil ich das automatisieren möchte um meine Projekt zu schützen.

Schon mal was von einen Obfuscator gehört?
Diese machen im Prinzip auch das was du willst. Aber wirklich geschützt ist deine DLL aber trotzdem nicht.

Gruss
Michael

14.11.2010 - 17:43 Uhr

Hallo Norman9494,

bist du sicher dass auch die ganze Datei geuploadet wurde?
Ich habe mal gehört bzw. am eigenen Leibe erfahren dass die Freehoster die Dateigröße begrenzen.

Da kann die max. Größe schon um die 5MB liegen.

Stell mal sicher dass die Datei richtig geuppt wird dann wird diese auch richtig gedownloadet

Gruss
Michael

13.11.2010 - 16:00 Uhr

Hallo SvartfaR,

das Problem ist dass das RunWorkerAsync() wie der Name schon sagt asynchron ist.
Somit springt er dir sofort aus deinem Try-Catch Block.
Deshalb werden die Exceptions nicht abgefangen.

Besser geeignet ist in diesem Fall ein Event welches du aus deinem Thread schmeisst und dann kann dein Form darauf reagieren

Ich habe gesehen dass du im Backgroundworker einen neuen Thread erstellst.
Das bringt nicht viel, da der BGWorker schon asynchron ist. Du brauchst also nicht noch einen erstellen.
Achso.. Damit hast du so einen Is-Alive checker gebaut. Naja, das könntest du auch direkt im Form machen und einfach mit einem Timer abprüfen ob da noch was läuft.

Guck dir mal das hier [FAQ] Warum blockiert mein GUI? an

Gruß
Michael

13.11.2010 - 13:11 Uhr

Hallo alab94,

wie gesagt wird dein Speicher überfüllt.
Beim Splitten kann das schon passieren wenn die Datei zu groß ist.

wie kann ich zeilenumbrüche einfügen?

dazu kannst du **:::

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 5 und 8
Wenn du uns nicht sagst was du machen willst und wie groß die Datei ist dann können wir dir nicht bzw. nicht gut helfen

Gruss
Michael

13.11.2010 - 12:35 Uhr

Hallo,

Du meinst ich könnte das Template auch in VisualStudio verwenden? Wenn ja, wäre das natürlich wesentlich besser! Wie bekomme ich das denn da rein?

Ja, das ist möglich und auch der Sinn von WPF.
Weil da ist es nur noch in den wenigsten Fällen nötig ein eigenes UserControl abzuleiten.

Das Ganze ist ein sehr mächtiges und deshalb auch komplexes Thema.
Deshalb ist es wichtig zu verstehen wie es funktioniert.
Guck mal hier: Using Templates to Customize WPF Controls

Die Templates / Styles kannst du einfach in den Resource verwalten, somit kannst du darauf zugreifen und deinen Buttons den Style setzen

Grüsse

13.11.2010 - 12:10 Uhr

Hallo maxwell86,

wenn du bei deinem CustomButton den Content setzst dann setzst du den Content des UserControl und nich denen des Buttons.

Du kannst deine UserControl Properties hinzufügen welche du dann von aussen setzst.
Innen kannst du dann den Content des Buttons an diese Properties binden.

PS: Du hast hier doch nur einen schönen Button erstellt, oda?
Dann kannst du das genauso über Styles / Templates machen.
Denn diese sind genau dafür geeignet und du vermeidest dir viele viele probleme

Gruss
Michael

13.11.2010 - 10:41 Uhr

Hallo,

So mache ich das. Habe ein Canvas und darin die drei Buttons. Und bei den zweien habe ich dort das MouseDown-Event. Ist das falsch?

Als falsch würde ich das nicht bezeichnen. Es ist nur nicht komplett richtig 😃

Das Problem ist dass dir der Button das MouseDown-Event frisst (jedenfalls wenn du die linke Maustaste drückst).
Wenn du die rechte verwendest dann funktioniert es.

Das Ganze nennt sich Event Bubbeling oder Tunneling. Guck mal hier: WPF Events Tunneling and Bubbling

Die Lösung des Problems ist einfach das PreviewMouseDown-Event zu verwenden.
Das wird immer ausgelöst.

Zu Canvas allgemein: ich habe hier ein Fenster das nicht skaliert werden kann, also immer die gleiche Größe hat. Dann ist die absolute Positionierung eigentlisch schon gut, oder nicht?

Man ist damit zwar nicht sonderlich flexibel aber wenn das Fenster ohnehin nicht resized werden kann, dann ist das IMHO nicht schlimm 😃

Gruss
Michael

13.11.2010 - 10:26 Uhr

Hallo maxwell86,

wo fängst du das Event ab?
Im Window kannst du das MouseDown schon abfangen, weil das Canvas blockiert das Event nicht.

PS: Ich glaube nicht dass in deinem Fall das Canvas der optimale Container ist. Da man die absolute Positionierung nur selten braucht.
Guck dir mal das Grid / StackPanel usw. an

Gruss
Michael

13.11.2010 - 10:13 Uhr

Hallo alab94,

was genau willst du mit dem Code machen? Der sieht irgendwie sehr ungeordnet und schlimm aus.

Wenn du einfach einen Text am Ende der Datei anhängen willst dann kannst du auch File.AppendAllText oder ähnliches verwenden.

Dann musst du nicht vorher selbst alles einlesen. Und dann die Zeile einfügen.

Das Problem mit der OutOfMemoryException wird vermutlich von einer deiner Schleifen ausgelöst.
Wenn die TextDatei lang wird dann machst du hier extrem viele Operationen.
Und da Strings immutable sind wird bei jeder Änderung ein neuer string im Speicher angelegt.
Deshalb müllt dieser relativ schnell zu.

Eine Alternative wäre hier evtl. der StringBuilder welcher mutable ist.

Aber mach das besser so, dass du nicht die ganze Datei einlesen musst, weil sonst wird das sehr fehleranfällig und langsam

Gruss
Michael

11.11.2010 - 17:17 Uhr

Hallo Erfinderdesrades,
Ja, das funktionierte. Wenn man eine CollectionViewSource hat, dann muss man nur noch das IsSynchronizedWithCurrentItem einschalten um die Selektierung über die Currentposition zu setzen

Dann ist aber nur das Iren selektiert und nicht die Textbox fokussiert

Greetz
Michael from Mobile. 😃

11.11.2010 - 14:20 Uhr

Hallo larabad,

Mit einem "geht nicht" können wir nicht viel anfangen

wo kann ich denn herauslesen was diese funktion mir zurück gibt ??

Mit dem Rückgabewert. Eine Zahl die angibt wie viele Zeilen betroffen wurden

der try and catch block hab ich kurze zeit wieder rausgenommen der wird aber komischerweise immer true anzeigen 😦

Ein TryCatch Block zeigt nicht true oder falsch an.
Im Try werden Exceptions abgefangen und im Catch kannst du darauf reagieren.

Bitte beachte: [Hinweis] Wie poste ich richtig? Punkt 1.1 1.1.1 5 und 8

Lies dir mal alles durch was in diesem Thread vorgeschlagen wurde und mache dich mit den Grundlagen vertraut.

Mit konkreten Fragen darfst du natürlich weiterhin ankommen 😃

Gruss
Michael

11.11.2010 - 14:12 Uhr

Hallo wpf23,

in WPF braucht man in der Regel nicht selbst irgendwas zu Zeichnen, da man alles mit Templates / Styles usw. anpassen kann bis zum Abwinken.

Was genau willst du denn erreichen dass du das ImageControl ableiten willst, bzw. selbst Zeichen willst?

Gruss
Michael

11.11.2010 - 14:09 Uhr

Hallo WiglWagl1,

willkommen bei myCSharp.de

Was genau ist dein Problem?

Du kannst einfach die Daten aus der Datenbank laden und dann in das Dictionary schreiben.
Von überall darauf zugreifen ist meist nicht so intelligent, besser ist wenn du dir eine schöne Struktur aufbaust, damit es schön übersichtlich bleibt

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 5
Ohne dass du uns genau erklärst was dein problem ist können wir nicht viel sagen

EDIT: hoppla, hab nicht gesehen dass es um WEB geht...

Gruss
Michael

10.11.2010 - 22:37 Uhr

Hallo YamiSparrow,

bitte verwende die Suchfunktion, denn dann wärst du auf Folgendes gestossen
Server4You - Erfahrungen
ASP.net Webhoster

Die beiden Threads sind zwar nicht wirklich aktuell aber die genannten Erfahrungen sind nicht wirklich gut.

Ob sich an der Situation in der Zwischenzeit was geändert hat kann ich dir nicht sagen

Gruss
Michael

10.11.2010 - 20:34 Uhr

Hallo wickedcsharper,

in solchen Fällen sind Dictionaries immer sehr nett.
Denn du hast in dem Beispiel eine Abhängigkeit zwischen dem Mitarbeiterobjekt und einem Kostenobjekt (1:1)

Wenn deine Listeklasse nicht viel macht ausser die Zugehörigkeit zu definieren / erkennen dann ist diese relativ sinnfrei und somit wäre ein Dictionary vorzuziehen.

Wenn diese jedoch alle möglichen Berechnungen per se macht dann kann man darüber schon nachdenken.

Gruss
Michael

10.11.2010 - 10:28 Uhr

Hallo Philb,

wie schon Talla gesagt hat ist es in solchen Fällen am einfachsten wenn man einfach den DispatcherTimer verwendet und in einem Intervall von 1 Sek dein Teil hinzufügt.

Da brauchst du dann auch nicht den Dispatcher zu verwenden da alles im selben Thread läuft 😃

Gruss
Michael

09.11.2010 - 21:50 Uhr

Hallo wpf23,

dazu kannst du einfach das **:::

Wozu brauchst du das überhaupt? Denn Sinn habe ich nicht ganz verstanden.

Gruss
Michael

09.11.2010 - 19:43 Uhr

Hallo Moschn,

die maximale Größe vom Bitmap hängt von dem verfügbaren Speicher der Applikation ab. Selbst im besten Fall wird der Speicher durch den Adressbereich limitiert, sodass ein .Net Programm in 32 Bit maximal 2~ gigabyte verwenden kann.
Bei 64Bit liegt die Grenze AFAIK auf der selben Größe da .NET begrenzt

Und bei diesem Bitmap von 18001 x 18001 brauchst du schon (18001 x 18001 x 4 byte = 1236 MB)

Das verwirrende an der ganzen Sache ist, dass diese Exception nicht immer ausgelöst wird. Sie kommt nur ca alle 3 mal.

Da ist es vermutlich so, dass du ab und zu das Glück hast dass deine Applikation genug Speicher bekommt. Manchmal kriegt die halt nicht genug dann bekommst du diese komischen Fehler.

Aber eine Frage habe ich noch: Wozu brauchst du so riesige Bilder??

Gruss
Michael

09.11.2010 - 18:19 Uhr

Hallo Dany1001,

willkommen bei myCSharp.de

Bei den Matrizen berechnen gibt es viele verschiedene Wege.
Da es sich um einen recht komplexen Vorgang handelt kommen die Algorithmen mit Komplexität von n² oder noch mehr schnell an die Grenzen.

Es gibt aber schon andere Algorithmen mit denen es besser läuft.
Guck mal hier: Matrix

Im Sourcecode kannst du abgucken und deinen umbauen / nachbauen 😃

Und hier noch eine Erklärung dazu (wobei es sich nicht um den selben Algorithmus handelt): Reguläre Matrix

Gruss
Michael

08.11.2010 - 19:23 Uhr

Hallo,

jein, soweit klingt das schon mal besser.
Aber bei den 5 Positionen.... Handelt es sich da um 5 verschiedene Webservices??
Weil sonst wäre es wohl einfacher alle 5 in einem Rutsch (in einem Thread) auszulesen.

Ansonsten ist es so ok. Wenn die Daten vorhanden sind dann wird ein Event geschmissen und die GUI aktualisiert sich dann.

Wenn es dich stört dass der User weiternavigieren kann dann musst du ein Wartefenster (oder irgend eine Animation drübergelegt) anzeigen um das zu unterbinden.

Wenn es dich nicht stört dann ist das egal. Denn der Webservice schmeisst das Event, aber wenn niemand darauf registriert ist dann passiert halt nix mit den Daten.
Wichtig ist aber dabei noch dass du nicht im Hintergrund X Zombie-Threads laufen hast. Deshalb immer schön brav alles beenden, was nicht gebraucht wird 😃

Gruss
Michael

08.11.2010 - 16:33 Uhr

Hallo,

wie gesagt habe ich noch nicht viel mit SL gesagt deshalb kann ich dir da auch nicht viel dazu sagen.
In SL ist es zwar möglich so was ähnliches zu machen aber direkt out of the box funktioniert das nicht

Guck mal hier: Daily demo silverlight behaviour for 3d hover effect
Vielleicht bringt dich das weiter.

Gruss
Michael

08.11.2010 - 13:35 Uhr

Hallo,

hoppla, ich bin jetzt nicht sicher ob Silverlight überhaupt die Trigger unterstützt.
Ich verwende immer WPF und da könnte man das ganz einfach machen, aber SL.. ^^

Guck mal hier How to use triggers in Silverlight, is there any examples?

Gruss
Michael

08.11.2010 - 12:58 Uhr

Hallo Gizzly,

wenn du nor so einen MouseHover Effekt erstellen willst dann kannst du dafür einen Trigger verwenden.
Da brauchst du dich nicht mit den Events rumzuplagen.

Gruss
Michael

06.11.2010 - 14:16 Uhr

Hallo,

sorry für den Fehlalarm vorhin.
Es war nicht direkt eine Endlosschleife 😃

Das Problem an deinem Code ist nur dass er zu oft in die Schleife geht.
Somit führt deine Berechnung dazu dass das i + pictureBox.Width über die Breite das Bildes hinausgeht. Deshalb kracht es dann.

Also in deiner IF-Abfrage in der Schleife musst du noch zusätzlich folgendes abfragen: _**:::

Könnte ich dir mein Projekt senden?

Bitte beachte: [Hinweis] Wie poste ich richtig? 4a bzw. 4.1 denn manche User könnte da verärgert reagieren 😃

Gruss
Michael

06.11.2010 - 13:15 Uhr

Hallo GammelZahn,

in WPF wird ein total anderes Konzept verfolgt als es zu WinForms Zeiten war.
D.h. man greift da nicht mehr von dem Code auf die GUI zu was den Vorteil bringt dass man diese schöner trennen kann.
Somit kann man die Oberfläche mit wenigen Handgriffen austauschen

Gelernt habe ich das mit ein paar kleinen Open Books und viel viel Üben 🙂
Guckst du hier: 🛈 oder hier Codeproject - Begin WPF

Wenn du das Grundkonzept hinter WPF verstanden hast dann kannst du dir ein paar MVVM Tutorials reinziehen und dann wirst du bemerken wie mächtig WPF ist 🙂

Warum sollte ich den nicht von meinen Code auf die Controls zugreifen können? Das ist doch eigentlich ziemlich wichtig, da ich z.B. beim ändern eines Sliders ein Label ändern möchte o.ä. ...

Das kann man auch alles über sogenanntes DataBinding machen.
D.h. man greift nicht vom Code auf das Control zu sondern das Control bindet eine Eingeschaft an ein bestimmtes Property das vom Code bereitgestellt wird.
Dadurch verliert man die Abhängigkeit zwischen Code / GUI

Gruss
Michael

06.11.2010 - 11:45 Uhr

Hallo,

ob es langt wenn man es direkt im Propertyfeld eingibt weiß ich nicht. Müsste man probieren.

Ansonsten kannst du es mit den Custom Actions machen.
Die Datei wird eigentlich ja nicht überschrieben sondern bei der Deinstallation gelöscht und bein Installieren wieder neu erstellt.

Deshalb musst du sicherstellen dass beim Deinstallieren nix gelöscht wird und dass beim Installieren die Datei nicht überschrieben wird.

Details gibts hier: VS2005 - Howto prevent overwrite of file

Gruss
Michael

06.11.2010 - 10:22 Uhr

Hallo kom2006,

ich bin zwar auch kein Setup-Project Experte, aber mit dem Conditional Attribut müsste das funktionieren.

Guckst du hier: Visual Studio Setup Project conditional if file exists

Gruss
Michael

06.11.2010 - 10:13 Uhr

Hallo korndi,

willkommen bei myCSharp.de

Deine For Schleifen scheinen das Problem auszulösen.
IMHO wird das wohl in einer Endlosschleife enden und er croppt das Image so lange fröhlich weiter bis der Speicher voll ist 😃

Gehe mal mit dem Debugger durch die Schleifen durch dann siehst du schon was diesen machen bzw. was diese nicht machen.

Gruss
Michael

05.11.2010 - 18:58 Uhr

Hallo GammelZahn,

willkommen bei myCSharp.de

In WPF kann man mit den ganzen Layoutcontainern sehr viel machen.

In diesem Fall kannst du z.B. einfach ein ItemsControl verwenden und die Bilder Collection zuweisen.

Hier ein Beispiel: WPF image gallery

Du musst die Bilder natürlich nicht alle direkt im XAML Code reinschreiben.
Du kannst auch einfach eine Collection machen und diese an das ItemsControl binden

Gruss
Michael

05.11.2010 - 15:50 Uhr

Hallo,

Hab die Lösung, danke Leute!

Als "die Lösung" würde ich das nicht bezeichnen.
Es wird zwar vielleicht funktionieren aber der Code hat doch einige Dinge die verbessert werden könnten.

input.ToUpper(); und Convert.ToInt32(ch); sind sinnlos.
Du führst zwar die Methode aus, aber machst nichts mit dem Rückgabewert.
D.h. du weißt diesen nicht zu, deshalb kannst du diese Zeile auf gerne entfernen 😃
Zudem ist es besser int.Parse / int.TryParse anstatt des Convert.ToInt32 zu verwenden.

Gruss
Michael

04.11.2010 - 21:54 Uhr

Hallo Crone,

schön, dass du das Problem jetzt lösen konntest.
Es wäre aber nett von dir wenn du noch kurz beschreiben könntest woran es gelegen ist und wie das Problem behoben werden konnte => ein paar kleine Sätze reichen da schon 😃

Somit können in der Zukunft alle Leute die auf diesen Thread treffen von deiner Lösung profitieren.

Vielen Dank!

Gruss
Michael

04.11.2010 - 21:35 Uhr

Hallo Crone,

willkommen bei myCSharp.de

Soweit schaut dein Code mal nicht schlecht aus.

Kann mir einer sagen wo, da der fehler liegt?

Was genau funktioniert denn nicht? Wird die Methode überhaupt aufgerufen?
Hast du das KeyDown Event überhaupt registriert?
Siehe: [Hinweis] Wie poste ich richtig? Punkt 5

Guck mal hier Bewegen von Objekten durch Tasten-Drücken
Dort wurde mehr oder weniger das selbe gemacht wie du jetzt willst.

Gruss
Michael

04.11.2010 - 21:24 Uhr

Hallo reloop,

mit Attached Properties bist du schon auf dem richtigen Weg.

Wie man ein solches Attached Property verwendet siehst du z.B. hier: How to create an Attached Property in WPF using a ComboBox

Bitte beachte: [Hinweis] Wie poste ich richtig? 1.1 und 4b
Im Inet gibt es massig Beispiele zu Dependency Properties und Attached Properties zudem würde das auch in jedem Buch genauestens erklärt.

Gruss
Michael

04.11.2010 - 20:53 Uhr

Hallo Thoxx,

das ist sehr schwer zu sagen weil das sicherlich stark von Firma zu Firma variiert.

Ich habe von einem Kollegen gehört dass ihm auch ein paar Fragen gestellt wurden als er sich für das Praktikum beworben hat.
Dabei ging es aber um triviale Dinge (also nix spezielles von .NET)

z.B. wurde er gefragt wie der Fibonacci Algorithmus funktioniert, was genau Rekursion ist.. und halt alles solche "einfache" Fragen

Aber wenn du in C# eigentlich ganz fit bist dann wird das schon passen.
Normalerweise bringt es auch nicht wenn die einen Praktikanten um alle möglichen Details fragen, wichtig ist dass die Grundkonzepte sitzen, den Rest kann man dann schon erlernen 😃

Gruss
Michael

EDIT: Das heisst aber nicht dass du auch sicher so einfache Fragen bekommst 😃

03.11.2010 - 18:18 Uhr

Hallo Gurrnder,

AFAIK ist das so ohne Weiteres nicht möglich.
Das ExecuteNonQuery() gibt dir die Anzahl von Zeilen mit die von der Query affected (mir fällt das Deutsche Wort dazu nicht ein 😃 ) wurden.

Du könntest theoretisch die einzelnen Queries einzeln ausführen dann bekommst du auch mit wie viele Zeile davon betroffen wurden.

Ohnehin ist es aber sehr gefährlich einfach so irgendwelche Queries auszuführen.
Mittels SQL Injection könnten da schlimme Dinge gemacht werden 😉

Du könntest auch Stored Procedures verwenden und dann den gewünschten Wert (Erfolg oder Misserfolg) zurückgeben.
Diesen kannst du dann über einen Parameter auslesen und das Problem ist gelöst.

Ich habe dazu mal etwas gegoogelt und folgendes gefunden: Show Value Printed Sql Query

Was genau möchtest du überhaupt erreichen?

Gruß
Michael

03.11.2010 - 17:59 Uhr

Hallo Arvi,

willkommen bei myCSharp.de

Die zu Fuß Methode müsste schon funktionieren.
Ich mache das selbst bei einigen Geräte so und es funktioniert ohne Probleme.

Die Daten sende ich mit dem Write Methode womit ich den generierten Byte-Array schicke.

Und zudem registriere ich das DataReceived-Event vom SerialPort.
Jedes mal wenn das Event ausgelöst wird lese ich dann mit der Read Methode die Daten aus.

Dabei ist es aber wichtig dass die Request Message (welche man dem Gerät schickt) genau so ist wie sie sein soll.
Dazu zählt oft die Adresse, CRC Checksumme usw... Und dabei muss es halt genau stimmen weil das Gerät sonst nicht antwortet.

Gruss
Michael

02.11.2010 - 17:24 Uhr

Hallo,

hm.. ich habe noch nie keine VS Updates über Windows Update bekommen.
Vom SQL Server hingegen gibt es schon oft Updates über den Windows Update Service.

Aber das ist wohl nicht deren Ernst dass man da manuell die Updates installieren muss?
Naja, ist mir egal, mein VS funktioniert gut und die Updates kommen dann schon mit dem SP1 😃

Grüsse

01.11.2010 - 18:06 Uhr

Hallo,

die Intel SSDs waren eine Zeit lang den anderen weit voraus.
Jetzt gibt es zwar auch andere Produkte von OCZ usw. die vergleichbar sind.

Aber mein Herz schlägt immer noch für Intel 😃
Im Notebook hab ich eine Intel X25-M mit 160GB

Aber wie gesagt gibt es auch innerhalb der Hersteller einen großen Unterschied zwischen verschiedenen Modellen.
Also ein günstiges Intel Model ist gleich schlecht wie ein günstiges Modell von einem anderen Hersteller 😃

Gruss
Michael

01.11.2010 - 12:45 Uhr

Hallo zusammen,

MS hat jetzt vermutlich verspätet bemerkt dass sie im Browserbereich nur sehr schwer mit Silverlight vorankommen. Das selbe Problem hat Flash jetzt ja auch, man kann immer mehr mit HTML 5 machen, sodass Flash immer unwichtiger wird.
Und gerade bei den mobilen Geräten ist Flash ein Horror.
Es wird entweder gar nicht oder nur sehr schlecht unterstützt...

Aber das heißt noch lange nicht dass SL sterben muss.
Im WP7 ist es gut aufgehoben und hat dabei den Vorteil dass man ohne großen Aufwand eine WPF Applikation auf das WP7 portieren kann (da man eigentlich nur die Views austauschen muss => sofern man die App richtig aufbaut 😃 )

HTML5 wird sicherlich die Zukunft sein, was man damit schon alles machen kann ist echt erstaunlich.
Und deshalb ist es IMHO schon richtig dass MS schon jetzt neben Silverlight auch an HTML5 denkt.

Klar.. der Artikel wurde falsch interpretiert, aber das sind nunmal diese Journalisten die einfach Infos von irgendwo kriegen und dann sich noch sehr viel dazuerfinden 😃

Gruss
Michael

30.10.2010 - 18:16 Uhr

Hallo,

das Warten ist immer eine gefährlich und meist nicht sinnvolle Geschichte 😃
Wenn du eine Aufgabe hast die lange dauern kann dann ist es besser diese einfach zu starten und nachher über ein Event der GUI mitzuteilen wenn fertig ist.

Dabei musst du aber beachten dass du keine threadübergreifende Vorgänge machst.
Siehe dazu: [FAQ] Warum blockiert mein GUI? und [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)

Gruss
Michael

30.10.2010 - 18:09 Uhr

Hallo paccino,

willkommen bei myCSharp.de

Gemeint ist dabei dass die Zahl zwischen 1 und 10 liegen muss.

Das kannst du einfach mit einer IF-Abfrage abprüfen


if(zahl < 1 || zahl > 10)
{
   //Zahl ist ungültig
   i--; 
}
else
{
   //Zahl ist gültig
   //Hier kannst du dein anderes Zeug reinschreiben
}

Wir setzen hier im Forum aber bestimmte Grundlagen voraus und diese Frage fällt eindeutig in die Grundlagen Kategorie.

Bitte beachte: [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1

Gruss
Michael

30.10.2010 - 17:00 Uhr

Hallo itstata,

soweit sieht das schon mal gut aus.
Vermutlich hast du in deinem UserControl einen Fehler im Binding.

Der Error sagt dass bei der PlzTextBox das Binding nicht korrekt ist, deshalb musst du da mal nachgucken.

Du kannst im Constructor vom AdresseUC Control einfach deine AdresseSource als DataContext festlegen (DataContext = AdresseSource;)
Damit sollte die Bindings von vorher noch funktionieren.

Gruß
Michael

30.10.2010 - 14:23 Uhr

Hallo itstata,

das sieht schon mal nicht schlecht aus.

Das Problem liegt vermutlich im Grid im UserControl weil da hast du einen anderen DataContext gebunden.
Somit haben alle Elemente innerhalb des Grids diesen DataContext (wenn nicht anders angegeben).

Probiere mal folgendes wegzulassen: **:::

Schöner wäre wenn du in deinem UserControl ein neues DependencyProperty erstellst (Adresse oder was auch immer) und dann dieses im Control als DataContext setzst.

Dann kann es auch ein Mensch verwenden ohne vorher wissen zu müssen was genau da in den DataContext muss 😉

Gruss
Michael

30.10.2010 - 12:38 Uhr

Hallo drunkenmunky,

das Problem ist dass die GUI es nicht mehr schafft sich selbst neu zu Zeichen wenn du den Wert zu schnell änderst.
Dadurch fängt es langsam aber sich an sich aufzuhängen.

Aber ohnehin bringt es dem User nix wenn du den Wert schneller als 500ms aktualisierst, weil sonst sieht man es nicht (das Auge ist zu langsam 😃.

Guck mal hier: [FAQ] Warum blockiert mein GUI?

Wieso verwendest du überhaupt diesen Timer? Du könntest doch auch direkt im DataReceived deine Werte übergeben.
Oder wird der Wert so schnell gesendet, dass du dabei wieder das selbe Problem hast?

Gruss
Michael

29.10.2010 - 21:28 Uhr

Hallo,

du kannst einfach abfragen ob deine EndZeit kleiner ist als die aktuelle Zeit.
Also


if(DateTime.Now >= endzeiterne1)
  timer1.Stop();

Bitte beachte [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1

Gruss
Michael

29.10.2010 - 16:50 Uhr

Hallo,

Designer.IsInDesignMode gibst unter WPF nicht, dort heisst es
DesignerProperties.GetIsInDesignMode(this)

Stimmt, danke für die Richtigstellung.

Ich habe eine MVVM - Library verwendet und da gibt es dieses Designer.IsInDesignMode 😃

Grüsse

29.10.2010 - 14:58 Uhr

Hallo,

du kannst in deinem Code einfach abprüfen ob es Design-Mode oder Runtime ist.

Also so etwas müsste dein Problem lösen


if (Designer.IsInDesignMode)
    return;

Gruss
Michael

29.10.2010 - 13:24 Uhr

Hallo,

es ist so sehr schwierig zu sagen woran das liegt.
Hast du dein ganzes GotFocus / LostFocus Gebastle aus deiner Codebehind entfernt, denn vielleicht macht das dabei die Probleme.

Ansonsten musst du einfach versuchen Teile vom Programm auszukommentieren um das Problem genauer lokalisieren zu können.
Evtl. die Styles entfernen und dann nochmals testen.

Mehr kann ich dir da ohne weitere Details nicht sagen.

Gruss
Michael

29.10.2010 - 12:58 Uhr

Hallo Philb,

Das gibt es doch nicht..
Erstelle mal ein neues Projekt und kopiere den Code so rein wie er ist.

Ich habe das jetzt getestet und das funktioniert bei mir jedenfalls ohne Probleme.

Sobald ich über die TextBox fahre kommt das Help symbol und über dem Border kommt die Hand.

Du redest schon auch vom Maus-zeiger? Oder gibt es da ein Missverständnis?

Hat es allenfalls mit einem Style zu tun ?

Keine Ahnung was du für einen Style hast, aber das glaube ich eher nicht.
Entferne doch mal einfach testweise den Style dann wirst du schon sehen woran es liegt.

Gruss
Michael

29.10.2010 - 12:36 Uhr

Hallo Philb,

der Standard-Cursor von der TextBox ist schon IBeam deshalb merkst du keinen Unterschied wenn du ihn selbst nochmals auf IBeam setzst.

Probiere mal das hier dann wirst du sehe dass es funktioniert


<Window ....>
	<Grid>
		<Grid.ColumnDefinitions>
			<ColumnDefinition Width="*" />
			<ColumnDefinition Width="*" />			
		</Grid.ColumnDefinitions>
		<TextBox Grid.Column="0" Cursor="Help" Background="Red"/>
		<Border Grid.Column="1" Cursor="Hand" Background="Blue"/>
	</Grid>
</Window>

Gruss
Michael