Zum Inhalt springen

JasonDelife

Mitglieder
  • Gesamte Inhalte

    82
  • Benutzer seit

  • Letzter Besuch

  1. Du solltest MyProcedure() nicht als static deklarieren. Aber sei gewarnt: Die Single-Thread-Rule verbietet den Zugriff auf Steuerelemente aus Threads die nicht der GUI-Thread sind! Und du verstößt dagegen. Das wird nicht gut gehen. Alternativer Ansatz: Nimm einen BackgroundWorker, der die Berechnungen macht und nutze das ProgressChanged-Event, um die PictureBox zu bewegen, denn ProgressChanged wird autom. im GUI-Thread ausgeführt. Infos zum BgW hier: Übersicht über die BackgroundWorker-Komponente Grüße, JasonDelife.
  2. Mal abgesehen von deiner grässlichen Namensgebung hat Klotzkopp von den Assembly-Verweisen geredet. Zu finden bei Visual Studio im Projektmappen-Explorer. Grüße, JasonDelife.
  3. JasonDelife

    [C#] Timer

    Wäre hier nicht ein einfacher Timer besser, der jede Sekunde feuert, um dann jede Sekunde um ein hochzuzählen? Grüße, JasonDelife.
  4. Doch, static ist in C# genauso verfügbar. Aber es ist nicht im Sinne der OOP. Es quasi die Quick&Dirty-Variante. Wenn du 20 Variablen hast, die du unter den Forms tauschen willst, dann ist wohl ein DTO gut (wurde schon genannt). Prinzipiell ist es aber so, dass bei Forms mit Dialog-Charakter (Eine Form poppt auf, man gibt was ein, sie geht weg und es geht im Hauptfenster weiter) so macht, dass die Hauptform dem Dialog alles per Konstruktor übergibt und dann per ShowDialog() angezeigt wird. Die Eingaben in TextBoxen usw. lassen sich dann abfragen, indem man in der 2. Form Properties definiert, die die nötigen Eingaben zurückgeben. DTOs sind meiner Meinung nach nur notwendig, wenn man zwei Forms auf gleichem Niveau hat. (Obwohl natürlich auch die Hauptform die Konstruktorparameter als kapselndes Objekt übergeben kann) Auch solltest du dir mal sprechendere Namen für die Forms / Controls überlegen. Grüße, JasonDelife.
  5. Prüfe das e.CloseReason und unterdrücke nur, wenn dieses UserClosing ist. Dann rufe zum Beenden Application.Exit() auf. Grüße, JasonDelife.
  6. Gibt es auf der Form fokussierbare Elemente? Wenn ja -> KeyPreview = True Grüße, JasonDelife.
  7. Wenn man nicht will, dass ein Property null ist, dann prüft man üblicherweise im Setter auf null und wirft entsprechend eine Exception. Grüße, JasonDelife.
  8. Wenn man cross-postet, dann doch wenigstens mit Link: myCSharp.de - DIE C# und .NET Community | Grafik und Sound | Bilder in sehr hoher Qualität verkleinern Grüße, JasonDelife.
  9. Die TextBox von Windows Forms ist ein Wrapper um die Win32-TextBox. Da öässt sich wohl nix ändern. Du müsstest eine eigene TextBox programmieren und dann die Hintergrundtransparenz erlauben und entsprechend implementieren. Grüße, JasonDelife.
  10. Und dann bastelst du ewig daran, die Seiteneffekte abzufangen, obwohl es mit dem BackgroundWorker im Endeffekt schneller und sauberer gewesen wäre. Grüße, JasonDelife.
  11. DoEvents() ist generell schlecht. Nachzulesen im geposteten Link. Dort wird auch ein Artikel verlinkt, der ein paar Probleme aufzeigt: jfo's coding : Keeping your UI Responsive and the Dangers of Application.DoEvents In dem Artikel wird auch die einzige Situation erläutert, wo DoEvents() ok ist: Wenn keine Message Pump läuft, was aber so gut wie nie der Fall ist. Aber sonst NIE. DoEvents() ist nicht dazu gedacht Multithreading abzuschaffen. Der BackgroundWorker bietet gute Möglichkeiten und mit Thread hat man komplette Kontrolle über das Geschehen. DoEvents() kann diese nicht ersetzen und ist auch nicht dazu gedacht (auch wenn man bei manchen MSDN-Artikeln wegen des übermäßigen DoEvents()-Gebrauch den Eindruck bekommt). Ich kann keinem DoEvents() verbieten, aber es soll keiner sagen können, dass er nicht gewarnt wurde . Grüße, JasonDelife.
  12. Noch zur Ergänzung: Nimm auf jeden Fall Hahnes Vorschlag! DoEvents() ist mist! Und es hat manchmal unangenehme Nebenwirkungen. Mehr dazu kannst du hier lesen: myCSharp.de - DIE C# und .NET Community | FAQ | [FAQ] Warum blockiert mein GUI? Grüße, JasonDelife.
  13. JasonDelife

    c# Size setzen

    Eine Form ist immer so breit, das man die Buttons in der Titelleiste noch klicken kann. Ich bezweifle, dass diese mit 5 Pixel auskommen. IMHO ist außerdem der Rahmen nicht eingerechnet. Grüße, JasonDelife.
  14. Zeichne dein Button-Control doch selbst. Das sollte die Performance verbessern. Grüße, JasonDelife.
  15. Wie wäre es mit regulären Ausdrücken? Regular Expressions Usage in C# Grüße, JasonDelife.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...