Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von michlG
Thema: Visual Studio von einen anderen Rechner ausführen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

das RemoteDesktop ist eigentlich ziemlich einfach zu aktivieren und auch zu verwenden.

Guck mal hier: Googlesuche nach remotedesktop howto
Es gibt da Massenweise HowTos usw.

Du musst einfach beim PC das RemoteDesktop (in den Systemeingeschaften) aktivieren.
Dem Benutzer die nötige Berechtigung geben

Und dann kannst du dich schon einfach mit den Client verbinden

Gruß
Michael

Thema: XAML: gebundenen Double Wert formatieren
Am im Forum: GUI: WPF und XAML

Hallo Edward,

WP7 verwendet SL3 und das unterstützt das StringFormat leider nicht.
Da musst du wohl einen IValueConverter verwenden

SL4 unsterstützt AFAIK das StringFormat. Aber ob das schon auf dem WP7 läuft kann ich dir leider nicht sagen

Gruß
Michael

Thema: [gelöst] IntToBrushConvrter mit Int,Brush Diconary, ist das möglich?
Am im Forum: GUI: WPF und XAML

Hallo jogibear9988,

Zitat
Oder hat jemand eine gute Idee wie Ich das sonst lösen kann?
Du könntest es mal mit einen DataTrigger versuchen.
Das ist wohl die einfachste Lösung.

Hier siehst du ein Beispiel: WPF Styles and Control Templates

Gruß
Michael

Thema: GUI ist träge; bei der Anzeige großer Bilder
Am im Forum: GUI: Windows-Forms

Hallo,

die GUI kannst du nur von einem Thread bauen.
Aber das Bilder runterskalieren kannst du auch genauso in Threads auslagern.

Siehe dazu: [FAQ] Warum blockiert mein GUI?

Nur die normalen Bilder anzeigen ist für den GUI-Thread in der Regel kein Problem.
Aber wenn er durch das Skalieren auch noch blockiert wird dann hängt er sich immer mehr auf

Gruß
Michael

Thema: Internet Explorer 9 Final erschienen
Am im Forum: Szenenews

Hallo Leute,

für die die es noch nicht wissen:
Heute wurde die Final Version vom IE9 veröffentlich

Internet Explorer 9 - Das Internet neu erleben

Gruß
Michael

Thema: DataGrid zur selectierten Zeile scrollen
Am im Forum: GUI: WPF und XAML

Hallo Fr3dd1,

entweder du machst es per Code wie von GG71 gesagt, aber dann hast du ein Problem dass du die MVVM-Regeln brechen musst.

Oder du machst es über ein AttachedProperty was IMHO der schönere Weg wäre.
Siehe: ListBox automatically scroll CurrentItem into view

Der Post in meinen Blog beschreibt wie man es erreichen kann dass in der ListBox immer das CurrentItem der ObservableCollection im sichtbaren Bereich ist.
Das ist doch das was du willst oda?

Gruß
Michael

Thema: Thread mehrmals aufrufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Wolf86,

was verstehst du unter "einen Thread mehrmals aufrufen"?

Wenn du einfach vermeiden willst dass du jedes mal einen neuen Thread erstellen musst dann kannst du den ThreadPool verwenden.
Das ist ohnehin der empfohlene Weg da es schneller ist als einen neuen Thread zu erstellen.

Die Methode ThreadPool.QueueUserWorkItem ist deine Methode

Gruß
Michael

Thema: [Erledigt] WPF TreeView DataBinding: String wird zerlegt?
Am im Forum: GUI: WPF und XAML

Hallo weeska,

ja das DataTemplate bzw. HierarchicalDataTemplate ist ein Weg.

Du könntest es auch mit dem DisplayMemberPath machen.
Dieser ist perfekt wenn du nur einfach eine Eigenschaft des Objektes anzeigen lassen willst.

Gruß
Michael

Thema: [Erledigt] WPF TreeView DataBinding: String wird zerlegt?
Am im Forum: GUI: WPF und XAML

Hallo weeska,

willkommen bei myCSharp.de

Du hast einfach den String an den TreeView gebunden.
Ein String ist eine Zeichenkette (Liste von Chars) und der Treeview hat jedes Element in der Liste einzeln angezeigt.

Es macht aber auch recht wenig Sinn einen String an den TreeView zu binden.
Verwende da besser eine ObservableCollection<String> um eine Liste von Strings an den Treeview binden zu können.
Dann müsste das auch richtig angezeigt werden.

Gruß
Michael

Thema: Wie schwer ist der Umstieg auf Java?
Am im Forum: Rund um die Programmierung

Hallo,

ich entwickle auch Parallel manchmal was in Java (werde in der Uni dazu gezwungen ;-) )

Der Umstieg ist nicht so schlimm. Klar, man muss erst die Klassen kennenlernen aber die meisten Sachen sind sehr ähnlich.
Und gerade die Android Apps haben doch schon Ähnlichkeiten mit WPF.
Es ist zwar um längen nicht so flexibel, aber für Android Apps langt das schon.

Also der Umstieg wird dir IMHO nicht schwer fallen.
Das was ich am meisten vermisst habe war das Visual Studio :)

Gruß
Michael

Thema: Exception Handling throw/catch
Am im Forum: Rund um die Programmierung

Hallo TinaQ,

Zitat
Im catch-Block jeder Methode werfe ich eine Exception (je nach Fehler).

Am Ende der Anwendung möchte ich die geworfenen Exception in einer Messagebox anzeigen.
Du kannst die Exceptions doch einfach abfangen. Wenn du im Catch-Block bist dann kannst du die Exception ausgeben (z.B. in deine MessageBox)

Wenn du es erst bei Programmende ausgeben willst dann kannst du dir die Exception anstatt diese auszugeben einfach in eine Liste speichern und diese dann am Programmende ausgeben.

Aber was genau willst du denn damit erreichen? Das klingt alles irgendwie etwas eigenartig.

Gruß
Michael

Thema: Datenübertragung Windows Form zu Mobile???
Am im Forum: Netzwerktechnologien

Hallo,

was genau ist denn das Problem?
Was klappt nicht, bzw. was hast du schon versucht?

Im Compact Framework kannst du auch Socketverbindungen aufbauen oder auf einen Webservice zugreifen.

Was willst du denn überhaupt machen?

Guck mal hier: Netzwerke und Konnektivität in .NET Compact Framework

Gruß
Michael

Thema: WPF Datagrid - Leere Zelle
Am im Forum: GUI: WPF und XAML

Hallo _daniel_,

Hm. Das ist ein eigenartiges Problem...

Machst du zufällig in deinem Items-Objekten irgendwelche komischen Dinge im Setter von einer der Eigenschaften?

Kannst du das Problem auch auf ein minimales Projekt reproduzieren?

Gruß
Michael

Thema: [Designfrage] Datenbindung an Datenbank oder Objekt?
Am im Forum: GUI: WPF und XAML

Hallo p66y,

Zitat
Ich binde die GUI direkt an die Datenbank
Naja, direkt an die Datenbank wirst du dein Programm wohl kaum binden können.
Es muss immer in ein lokales Objekt gemappt werden um gescheit damit arbeiten zu können.
Zitat
Ich binde die GUI an ein Objekt. Wenn ich das richtig sehe, müsste dieses Objekt dann aber auch eine Update() Methode bereitstellen, welche etwaige Änderungen zurück in die DB schreibt, richtig?
Das klingt schon besser. Aber das brauchst du nicht alles selbst zu machen, denn da gibt es schon einige Dinge die diese Arbeit erleichtern.
Stichwort: OR-Mapper (oder als Alternative ADO.NET)

Am einfachsten ist es wohl wenn du das Entity Framework verwendest.
Hier findest du ein nettes Beispiel-Video: How Do I: Get Started with Entity Framework in WPF Applications?

Gruß
Michael

Thema: Insert-Anweisung stürzt ab wegen enthaltener Zahl mit Kommastelle
Am im Forum: Datentechnologien

Hallo,

das Problem ist vermutlich dass du die Query mit einer einfachen Stringverkettung erstellst.
Wenn du einen Beistrich in der Query hast dann gibt es das Problem.
Denn die Zahlen müssen mit einem Punkt als 100ender Trenner eingefügt werden.

Um der ganzen Misere zu entgehen ist es empfehlenswert die SQLParameter zu verwenden.

Gruß
Michael

Thema: Kein Zugriff auf Objekt
Am im Forum: GUI: WPF und XAML

Hallo,

was genau ist denn der Grund weshalb du die UserControls freigeben willst?
Ich habe jetzt nicht genau verstanden was bei dir das Problem ist, aber vermutlich musst das Control wieder neu in der GUI hinzufügen.

Aber das ist kein guter / normaler style.... Was genau willst du denn erreichen?

Gruß
Michael

Thema: DataGrid und Databinding... Nur jeder zweite Datensatz wird angezeigt und es gibt Anzeigefehler
Am im Forum: GUI: WPF und XAML

Hallo,

Zitat von esven
Hauptproblem ist wahrscheinlich, dass ca. alle 300 us neue Daten zum Anzeigen hinzukommen.
Das ist ziemlich sicher ein Problem
Zudem kann kein Mensch der Welt so schnell sehen.
Deshalb ist es besser wenn du die Daten zwar alle 300us reinbekommst aber diese nur in einem Intervall anzeigst.

D.h. du aktualisierst die GUI nur einmal in der Sekunde.
Ansonsten hängt sich der GUI Prozess früher oder später auf

Gruß
Michael

Thema: Bild über Webservice abrufen
Am im Forum: Netzwerktechnologien

Hallo,

ich habe das Bild so in den ByteArray umgewandelt.


public static BitmapImage ToBitmapImage(this Byte[] bytes)
    {
      try
      {
        var stream = new MemoryStream(bytes);
        var image = new BitmapImage();
        image.BeginInit();
        image.StreamSource = stream;
        image.EndInit();
        return image;
      }
      catch (Exception ex)
      {
        Debug.WriteLine("Can not convert the byte array into a BitmapImage. " + ex.Message);
        return new BitmapImage();
      }
    }

    public static Byte[] ToBuffer(this BitmapImage imageSource)
    {
      Stream stream = imageSource.StreamSource;
      Byte[] buffer = null;
      if (stream != null && stream.Length > 0)
      {
        using (var br = new BinaryReader(stream))
        {
          buffer = br.ReadBytes((Int32)stream.Length);
        }
      }

      return buffer;
    }

Du könntest das Bild aber auch direkt schicken. D.h. du schickst einfach den Byte Array der Datei und arbeitest dann mit diesem.

Gruß
Michael

Thema: Bild über Webservice abrufen
Am im Forum: Netzwerktechnologien

Hallo,

ich habe sowas auch vor kurzem gemacht.
Dazu habe ich einfach das Bild als Byte-Array verschickt und das funktioniert ohne Probleme.

Warum kriegst du es denn nicht in den Array gepresst?

Gruß
Michael

Thema: Windows Server zuhause als Webserver?
Am im Forum: Smalltalk

Hallo Yheeky,

ich würden den Server nie zuhause laufen lassen.

Wenn man berechnet was einen schon der Strom kostete (wenn einen starken Server hat).
Zudem hast du nur eine limitierte Bandbreite und das Ganze ist nicht so ausfallsicher.

Es ist wahrscheinlich besser wenn du dir einen Rootserver / V-Server mietest.
Da kommst du auch schon mit 15€ im Monat durch und du hast vollen Zugriff auf den Server.
Kannst installieren und tun und lassen was du willst.

Guck mal hier: Giga-hosting.biz V-Server
Diese Server haben IMHO ein recht gutes Preis-Leistungsverhältnis

Wenn du unbedingt den Server zuhause laufen lassen willst dann kannst du dir mal DynDns angucken. Damit kannst du von aussen mit dem DNS-Namen auf den Router zugreifen. Über Portforwarding kannst du bei diesem dann die Anfragen an einen bestimmten PC im Netz weiterleiten (in deinem Fall an deinem Server)

Gruß
Michael

Thema: Access Datenbank Abfrage nach mehreren Faktoren
Am im Forum: Datentechnologien

Hallo,

ja, der Code ist schon nicht wirklich gut strukturiert, aber das eignet man sich schon mit der Zeit an.

Zitat
Die AND - Verknüpfung kann ich doch nur machen, wenn alle Felder ausgefüllt sind. Ansonsten wird das doch ein Spaghetticode mit den ganzen Vorabfragen
Ja das wird es. Du könntest die Abfrage evtl. in eine extra Methode auslagern, aber das ist dann immer noch etwas Spaghetticode :)

Da müsste man schon das ganze Programm umstrukturieren

Gruß
Michael

Thema: Bei weitergabe mit Setup-Projekt die Rechte setzen des Installationsordner
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

also ich verwende meist das .NET Konfigurationsmodell dann brauch ich mich darum nicht kümmern.
Und wenn ich sonst noch was habe dann hau ich das auch in den AppData Ordner

Gruß
Michael

Thema: Performance Counter "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo kbert,

Zitat
Weiß da jemand was falsch läuft?
Ich vermute mal dass du da die 100% / 0% stehen hast weil du den ganzen Thread blockierst.
Du gibst mit der while-Schleife mit voller Rechenleistung den Wert aus ohne Pause

Verwende für die Ausgabe einen Timer, dann sollte das Problem gelöst sein.
Generell siehe: [FAQ] Warum blockiert mein GUI?

Gruß
Michael

Thema: Bei weitergabe mit Setup-Projekt die Rechte setzen des Installationsordner
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Tott666,

erstellst du die Datei manuell? Das ist nicht nötig.
Siehe: [Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0

Dabei wird die Settings-Datei automatisch irgendwo abgelegt (unter Dokument/...../AppData)

Gruß
Michael

Thema: Access Datenbank Abfrage nach mehreren Faktoren
Am im Forum: Datentechnologien

Hallo,

willkommen bei myCSharp.de

Du kannst in SQL auch mehrere Vergleiche in der WHERE-Clause machen.
D.h. du kannst sie mit OR bzw. AND kombinieren.

In deinem Fall musst du einfach checken ob der User was in dem Betreffenden Feld eingegeben hat. Wenn ja, dann fügst du am Ende der Query noch ein " AND MeinFeld='MeinWert'" dazu

PS: Anstatt die Abfrage mit + zusammenzufügen ist es besser die SqlParameter zu verwenden.
Damit bist du sicher dass du kein Opfer von SQL-Injection wirst

Gruß
Michael

Thema: Timepicker an MSSQL Datenbank binden
Am im Forum: GUI: WPF und XAML

Hallo,

der Timespan ist wie der Name schon sagt eine Zeitspanne.
Aber du brauchst in deinem Fall vermutlich einen einfachen Datums / Zeit wert

Versuch mal einfach den DateTime Typ anstatt des Timespans zu verwenden

Gruß
Michael

Thema: Warum wird von der Überschreibung des == Operators abgeraten?
Am im Forum: GUI: Windows-Forms

Hallo dahaack,

willkommen bei myCSharp.de

Kurz gesagt vergleicht der == Operator ob es die gleichen Objekte sind.
D.h. Ob der Verweis auf ein und das selbe Objekt geht.
Dabei werden die Werte des Objekts nicht verglichen, es wird nur auf den Verweis geschaut.
Da das in der Regel für die meisten (veränderbaren) Datentypen genau das selbe ist braucht man es nicht zu überschreiben

Beim Equals hingegen werden normalerweise die einzelnen Properties gegeneinander abgeprüft.
Damit kannst du dann feststellen ob zwei Objekte den selben Inhalt haben.
Und wenn du dir selbst deine Objekte machst, dann musst du es halt überschreiben um deine eigene Equals-Funktion zu haben

Also kurz gesagt == vergleicht nur den Verweis (außer bei unveränderlichen Typen) und Equals vergleicht normalerweise den Inhalt (man kann es aber auch auf andere Art und weiße implementieren, was aber nicht empfehlenswert ist =)

Gruß
Michael

Thema: WPF Dynamische Darstellung
Am im Forum: GUI: WPF und XAML

Hallo Sebastian1989101,

dafür sind Liste gut geeignet.
D.h. du hast deine Elemente (wo du vorher nicht weißt wie viele es sind) und bindest diese an ein ItemsControl.

Damit kannst du dann auf deinem View die Elemente schön anzeigen ohne vorher die genaue Anzahl zu kennen

Hier siehst du wie du das ItemsControl verwenden kannst WPF: Example of ItemsControl bound to an ObservableCollection

Gruß
Michael

Thema: Suche Sleep Methode, die das GUI nicht blockiert
Am im Forum: GUI: Windows-Forms

Hallo,

und wieso willst du überhaupt schlafen?
Entweder du verwendest dafür einen Timer oder du verwendest dafür einen Timer =)
Damit kannst du Aufgaben in einem bestimmten Intervall aufrufen lassen

Zum Thema freeze siehe: [FAQ] Warum blockiert mein GUI?

Gruß
Michael

Thema: Combobox an Tabelle binden mit FK
Am im Forum: GUI: WPF und XAML

Hallo,

jetzt hab ich es auch verstanden, danke :)

Also du musst auf eine Änderung in der ComboBox reagieren und dann in deiner Tabelle den Wert reinschreiben.
Wenn du die ObservableCollection verwendest dann kannst du darüber mitbekommen wenn sich das CurrentItem ändert.

Hier mal ein Stück Beispielcode dazu


public class MainWindow
{
public MainWindow()
{
   Persons = new ObservableCollection<Person>();
   var a = CollectionViewSource.GetDefaultView(Person);
   a.CurrentItemChanged += (obj,e) =>
          {
               //Das Item hat sich geändert. Den Wert hinschreiben wo du willst
          }

   DataContext = this;
}


public ObservableCollection<Person> Persons{get;set;}
}

<ComboBox ItemsSource="{Binding Persons}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name_Person" />
Keine Garantie => da nur hier schnell runtergeklopft

Wenn du mit der Tabelle2 ein einfaches WPF Control meinst dann kannst du es auch direkt mit DataBinding machen. Also {Binding Persons.CurrentItem}

Gruß
Michael