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 Console32
Thema: [erledigt] RichTextBox Undo wirkt ungewollt auch auf Protected Text
Am im Forum: GUI: Windows-Forms

Hallo Community,

Ich habe in einem kleinen Terminal Project eine RichTextBox welche die Schreib Request darstellt.

Nach dem senden eines Blocks wird dieser makiert und mit:

                this.richTextBoxWrite.SelectAll();
                this.richTextBoxWrite.SelectionProtected = true;

gesperrt dammit man ihn nicht mehr ändenr kann.

Jetzt ist mir aufgefallen das es mit Undo möglich ist den Text trotzdem zu löschen was nicht sein sollte, gibt es ein dazu eine Lösung oder muss ich meine eigene Undo/Redo Funktionalität implementieren?

Thema: new Form11().Show() findet die Form nicht
Am im Forum: GUI: Windows-Forms

siehe: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

und [Hinweis] Wie poste ich richtig? Punkt 1.1 , 1.1.1 und Punkt 5.

Ich nehme an das Form ist vielleicht in einem anderen Namespace oder so etwas in der art.

Thema: MessageBox eines Fremden Processes auswerten.
Am im Forum: GUI: Windows-Forms

@tom-essem
die Fensterklasse ist unbekannt da es sich um eine externe Exe handelt. (Es ist nichtmal eine .Net Applikation)

@winSharp93:
Leider ohne erfolg mit EnumWindows bekomme ich ca 150 Handles (ist das ein normaler Wert?) davon passst jedoch keiner zu meinem Process.

Mit EnumChildHandles komm ich zwar an die richtigen Fenster jedoch ist es sehr stark abhängig davon wie oft ich die ChildWindows durchgehe ob ich einen Brauchbaren Wert mit IsWindowVisible bekomme. Da die geschwindigkeit der Exe sehr Hardware abhängig ist, macht es keinen Sinn da weiter herum zu probieren.

Im moment habe ich aufgegeben und einen Simplen Cancel-Button bereitgestellt der den Prozess abwürgt wenn der User denkt es klapt nicht, nicht schön aber fürs erste genug.

Wenn jemand noch eine Idee hat trotzdem gerne her damit.

EDIT:
Aja war letzte woche im Urlaub deswegen meine späte Antwort.

Thema: MessageBox eines Fremden Processes auswerten.
Am im Forum: GUI: Windows-Forms

Leider habe ich damit nicht viel Erfolg oder mache etwas falsch.

hier mal der Code:


                while (downloaderProcess.MainWindowHandle == IntPtr.Zero || !IsWindowVisible(downloaderProcess.MainWindowHandle))
                {
                    Thread.Sleep(100);
                }

leider macht er die schleife nur einmal und hat danach sofort einen WindowHandle und sagt mir das dieses Fenster auch sichtbar ist, obwohl ich noch ewig kein Fenster sehe.
Der Text des Fensters bringt mich leider auch nicht weiter da dieser nach dem ersten schleifendurchlauf auch schon übereinstimmt. (Die Applikation verwendet in allen Forms den gleichen Titel)


PS: die schleife ist natürlich nur zum testen.

Thema: MessageBox eines Fremden Processes auswerten.
Am im Forum: GUI: Windows-Forms

Hallo,

Ich habe gerade ein problem mit einem kleinem Programm das ich über Process.Start anwerfe.

Das Programm läuft mit den richtigen Argumenten unsichtbar im Hintergrund, nun funktioniert das alles Wunderbar wenn das Programm keine fehler wirft und ich einfach auf Process.WaitForExit warte.

Wenn jedoch ein fehler auftrit kommen immer wieder messageBoxen bis ich den Task im TaskManager beende. Das ist zwar eigentlich ein Problem in dem genanten kleinen Tool, kann ich jedoch jetzt nicht ändern. Deswegen wollte ich fragen wie ich am besten merken kann das jetzt eine MessageBox geflogen ist. Damit ich dann in meinem Programm ermitteln kann ob das ganze Funktioniert hat oder eben nicht.

Mir geht es weniger um die Konkrete umsetzung sonder vielmehr um einen Lösungsansatz.

Thema: sql Abfrage mit mehreren Counts
Am im Forum: Datentechnologien

SELECT  (SELECT COUNT(*)
        FROM   table_A
        ) AS Gesamt,
        (SELECT COUNT(*)
        FROM   table2
        WHERE "Bedingung"
        ) AS Valid
FROM    table_B

sowas in der Art sollte funktionieren

Thema: Theoretische Fragen zu Datenbankverwaltungsprogramm
Am im Forum: Datentechnologien

Das DataSet weiß intern wenn du einen Eintrag geändert oder gelöscht hast.

Wenn du nun einen update / insert / und delete Command für deinen DataAdapter hast kannst du einfach mit der Methode DataAdapter.Update(DataSet) alles was sich geändert hat in die Datenbank übernehmen.

Die update / insert /delete Commands bekommt man mit dem CommandBuilder vom entsprechenden select Command.

Jedoch weiß ich gerade nicht wie das ganze mit mehreren Tabellen funktioniert da der Tabellen Name sich ja in jedem Select statement unterscheidet.
Ich denke du musst jede Tabelle einzeln Updaten (kann auch sein das ich mich irre)

Thema: Designfrage: Mehrere Datensätze an ein DGV binden
Am im Forum: Rund um die Programmierung

Wenn du deine Datenbank per DataSet an das DataGridView bindest kannst du einfach beim "blättern" die neuen Tabellen an das DataSet anhängen und das DataGridView eine andere Tabelle anzeigen lassen.
Somit bleiben die änderungen in den anderen Tabellen erhalten und du kannst am ende alle änderungen gesammelt updaten

Thema: Theoretische Fragen zu Datenbankverwaltungsprogramm
Am im Forum: Datentechnologien

Ich würde sagen weder noch.

DataAdapter.Update()

Thema: Parent Window manchmal nur mehr in Taskleiste
Am im Forum: GUI: WPF und XAML

Ich kenn dieses Problem auch, wenn ich versuche ein Modales Fenster über ein (auch schon Modales) Fenster zu stellen und den Owner ausblende. Leider kann ich nicht sagen was es damit auf sich hat.

Mein Tipp (so würd ich es machen wenn ich es mir aussuchen könnte) mach nichts mit ShowDialog. Dann kommt es garnicht soweit, MainForm ausblenden würde ich auch eher lassen, wie schon erwähnt ist das nicht besonders Intuitiv wenn sich das Mainwindow ändert.

Überleg dir besser eine andere Struktur für deine Fenster.

Thema: Explizite Konversion System.Windows.Controls.MediaElement zu System.Windows.Forms.Controls
Am im Forum: GUI: WPF und XAML

Du erstellst ein MediaElement und setzt die source Property auf dein directX Video?

Bzw wo ist dein Problem?
Wie man mit einem MediaElement ein Video abspielt finfet man ganz einfach bei google.
Um ein DirectX abzuspielen musst du nur den Codec installiert haben. (da kann google bistimmt auch helfen falls du das noch nicht hast)

Thema: VBScript mit C# Programm einlesen und bearbeiten
Am im Forum: Rund um die Programmierung

Hallo und willkommen,

also ich finde es sehr unschön in einem script per text Parser herum zu "doctorn".

Hast du schon daran gedacht das mapping(Drucker <> Computer) in eine Datenquelle (datenbank / xml) auszulagern?
Diese kannst du mit einem C# Programm verwalten und in deinem script auswerten.

Thema: Beim Arbeiten mit Bitmaps wird der Arbeitsspeicher voll gemüllt!
Am im Forum: Grafik und Sound

Hallo,

Räumt der GC den speicher wieder auf wenn du nichts machst?

Ich denke es liegt daran das du dir nach jedem MouseMove eine neue BitMap Source erstellst die auch irgendjeamnd wieder aufräumen muss.

am besten du zeichnest dir deine BMP einfach selbst per OnPaint.

Thema: Zeiger, anstatt Daten, von value-type kopieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du übergibst an deine Funktion aber einen ByteArray und kein byte deswegen ist es ein Referenztyp.

Die eckigen klammern sagen dem Compiler das es sich um ein Array handelt (der typ der Elemente spielt dabei keine rolle) und ein Array ist nunmal ein Referenztyp.

Und ref übergibt keine speicheradresse. sonder den wert als referenztyp.
um direkt an speicheradressen zu kommen musst du auch in c# mit unsafe und & und * arbeiten

back2Topic arrays werden natürlich nicht bei funktionsübergabe kopiert. Das liegt auch nicht an der dll die du benutzt.
Man stellt sich den Speicherverbrauch auf dem Stack vor wenn du jedes mal 4000 byte draufpackst wenn du eine Funktion mit einem Int Array der länge 1000 aufrufst. Nach 8 verschachtelten functionsaufrufen hättest du einen Stack overflow (bin mir nicht sicher ob der Stack 32kb hat).

Thema: Ab wann ist OOP eigentlich wirklich OOP?
Am im Forum: Rund um die Programmierung

Dieses Buch kann ich empfehlen welches sich explizit mit sauberer OOP beschäftigt. Praxisbuch Objektorientierte Programmierung

Dieses Buch hat auch mir am anfang sehr geholfen Klassen "richtig" zu Strukturiren und einen ordentlichen Programmaufbau anzustreben.

Thema: Begriffssuche: Objekt kann nur ein mal seinen Zustand ändern (Sicherungs-Prinzip)
Am im Forum: Rund um die Programmierung

Deine Informationen sind etwas mager für eine passende Namensgebung.

Intressanter wäre wofür diese Klasse genau eingesetzt wird. Du kannst sie naürlich Fuse nennen jedoch denke ich das sie etwas mehr kann als einfach nur "durchzubrennen". Wenn nicht passt fuse denke ich ganz gut.

Thema: [erledigt] MS Sql Server 2008 lässt sich nicht installieren / und deinstallieren.
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

So es funktioniert jetzt.

Ich habe über das "Software deinstallieren" Menü ALLE Komponenten hinzugefügt.
(Trotz fehler die installation durchlaufen lassen)
Dann funktionierte das Management Studio nicht richtig (Verbinden zur DB war nicht möglich)
dafür habe ich SQL-Server Servicepack 3 installiert und anschliesend wieder deinstalliert.

jetzt funktioniert es mit SQL-Server SP1.

Leider ist die Lösung genau so wenig nachvollziehbar wie das Problem selbst.

Kann geschlossen werden.

Thema: [erledigt] MS Sql Server 2008 lässt sich nicht installieren / und deinstallieren.
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Community,

Ich versuche seit gester die MS-Sql Server 2008 Enterprise Edition auf meinem System zu installieren. Jedoch scheitert die installation mit einem Fehler.

Fehler
TITEL: Microsoft SQL Server 2008-Setup
------------------------------

Fehler:

Another version of Microsoft Visual Studio 2008 has been detected on this system that must be updated to SP1. Please update all Visual Studio 2008 installations to SP1 level, by visiting Microsoft Update.

Hilfe erhalten Sie durch Klicken auf: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=10.0.1600.22&EvtType=0xF45F6601%25401201%25401

------------------------------
SCHALTFLÄCHEN:

OK
------------------------------


Wenn ich nach der Fehlermeldung google finde ich 2 Möglichkeiten.
Entweder man muss tatsächlich sein VS 2008 auf SP1 Updaten.
Oder man soll den MS-Sql Server 2008 deinstallieren (Der bei mir als vorab Version von VS 2010 installiert wurde).

Nun gut möglichkeit eins fällt da ich garkein VS 2008 habe weg.
Bei möglichkeit 2 komme ich leider auch nicht weiter da ich unter System-Software
zwar bei dem SQL Server auf deinstallieren gehen kann, der deinstaller von MS zeigt mir dann aber nur "SharedFeatures" an und den SQL Server nicht!

Nach etwas googel habe ich herausgefunden das man zuerst das SP1 des SQL Servers deinstallieren soll. Jedoch komme ich dabei zum gleichen resultat der Deinstaller startet zwar macht aber im endefekt nichts.

Kennt jemand von euch das Problem?

EDIT:
Zur info VS2010 und somit auch der aktuell vorinstallierte SQL Server sind Englisch
die Enterprise Edition wäre auf Deutsch.

Thema: Enumerator Problem: In einer Baumstruktur die Kinder aufzählen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich nehme mal an du willst mit Childs, alle der unterknoten auch haben;


 private IList<Node<T>> GetChildNodes(Node<T> node)
        {
            List<Node<T>> nodes = new List<Node<T>>();
            nodes.AddRange(node.Nodes);
            foreach (var item in node.Nodes)
            {
                nodes.AddRange(this.GetChildNodes(item));
            }

            return nodes;
        }

wozu du einen eigenen enumerator hast versteh ich nicht.

Thema: Fremde app.Config ändern: auskommentierte Zeilen sollen nicht entfernt werden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Community:

Ich schreibe gerade ein Kleines Tool welches die app.Config einer anwendung anpassen soll (das ganze ist ein entwicklungstool) und soll zum "Nachkonfigurieren" verwendet werden wenn die software auf einem Client bereits ausgerollt wurde.

es geht nur um einen Schlüssel in den AppSettings, das ganze funktioniert auch schon so weit, jedoch löscht mein Code alle auskommentierten Zeilen in der AppSettings Section:


            Configuration configuration= ConfigurationManager.OpenExeConfiguration(this.configPath);

            if (configuration.AppSettings.Settings.AllKeys.Contains("Key"))
                configuration.AppSettings.Settings.Remove("Key");

            configuration.AppSettings.Settings.Add("Key", "Value");
            configuration.Save(ConfigurationSaveMode.Minimal, false);

Weiß jemand wie ich nur einen schlüssel schreibe und nicht die ganze section / oder wie ich die Kommentare auch mitspeichere.

Leider finde ich dazu gerade nichts.

Thema: Form aus Program.cs fokusieren
Am im Forum: GUI: Windows-Forms


Anwenung nur einmal starten und ggf. in den Vordergrund bringen


Das Thema kommt relativ häufig bitte nächstes mal die Suchfunktion benutzen.

Thema: C# Progressbar & foreach (Verbesserungsvorschläge für Codeaufbau gesucht)
Am im Forum: GUI: Windows-Forms

Du zählst die variable in der schleife hoch und deine Progressbar zeigt dir an welchen wert i gerade hat (die schleife wird in einenm auf Maximum springen..)

Wozu brauchst du bei dieser Operation eine Progressbar?
Bzw wielange brauchen die aufrufe vom ManagementObject.?

die foreach durch die Query läuft im normalfall nur einmal (zumindest war das bei mir immer so wenn ich damit gearbeitet habe)
und wenn sie das nicht macht wird das Maximum deine Progressbar immer um 3 erhöht obwohl diese schon als "Fertig" angezeigt wird.

Nochdazu Zeigst du alle werte auf einem Textfeld an (soweit ich weiß sind die Operationen nicht soo langsam) das man da etwas erkennen kann.

Was soll dieser Code den im endeffekt machen?

Thema: System.Management & Managementclass Dokumentation
Am im Forum: Rund um die Programmierung

Zur Dokumentation kann ich wenig sagen, wenn du jedoch wmic verwenden willst um die Hardware Information auszulesen kann ich dir dieses Tool von MS ans Herz legen.

WMI Code Creator

Mit dem Tool kann man sich C# Code generieren lassen der bestimmte Hardware Informationen ausliest.

Thema: VS2010 AddIn ändert Propertys im Design Fenster, Designer.cs übernimmt diese aber nicht.
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Community

Ich habe mir ein AddOn geschrieben mit dem ich die Position und andere Porpertys von Contolls verändern kann (der Hintergrund ist dieser Thread Position von mehreren Steuerelementen Sinnvoll speichern und während der Laufzeit Laden. )

Nun kann ich mit dem Addon wunderbar die Position meiner Steuerelemente Speichern und zur Laufzeit laden.

Jedoch bin ich gerade dabei mit dem Addon die Daten wieder im DESIGNER zu laden damit man später ganz einfach etwas ändern kann. Nun lädt das Addon die Daten wieder und meine Controlls verschieben sich, jedoch wird die änderung nicht in die Designer Datei übernommen (da VS nicht merkt das ich etwas am Form geändert habe) kann mir jemand sagen wie ich das Lösen kann?

Wenn ich ein Element um ein Pixel verschiebe merkt VS die änderung und alle änderungen werden (nach dem Speichern) in die Designer.cs datei übernommen.

Rebuild / etc hat nichts gebracht.

PS: für die Funktion ist das eigentlich nicht relevant, jedoch ist es unschön wenn die Controlls verschoben worden sind (durch das addon) und wenn ich dann die Datei schließe und neu Öffne ist die änderung wieder verschwunden.

Thema: implicite casts in subclass überschreiben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke funktioniert wie gedacht, und nach ausen hin merkt man nicht das es eigetnlich der Basisklassen operator ist.

Thema: implicite casts in subclass überschreiben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo ich wollte fragen ob es Möglich ist in einer Basisklasse oder einem Interface einen implicite cast zu definieren um diesen dann in der Subklasse überschreiben zu können

Beim interface bekomme ich immer den Fehler das operators im Interface nicht gültig sind.
Und wenn ich versuche in einer Basisklasse den Operator virtual zu marken mekert er auch rum das Virtual für dieses Item ungültig ist.

Hintergrund ist das ich eine Klasse habe die einen Wert einer Steuerung darstellt,
dieser soll dann einfach per implicite cast auf einen Brauchbaren typ umgewandelt werden, jedoch unterscheidet sich die Klasse je nach Steuerung, somit wollte ich alle Klassen unter eine Basisklasse packen damit ich mit dieser Arbeiten kann unabhängig was dahinter steht.

Für mich sieht es im Moment so aus als wäre das nicht Möglich und ich müsste den Weg über eine Methode oder eine Property wählen aber zur sicherheit wollte ich noch einmal nachfragen.

Thema: Coding Styles Horror
Am im Forum: Smalltalk


        private string GetErrorText(string cStr2, string cStr3)
        {
            int iWert;
            string cStr1;
            string cStr4;
            string cStr5;
            string cStr6;
            string cStr7;
            string cStr8;

Ein traum von lesbarkeit sogar die Parameter haben einen Sprechenden Namen ^^

und das file mit ca 50 000 Zeilen find ich auch stark

Thema: SQL Server Compact - Fehler beim zugrunde liegenden Anbieter auf Open
Am im Forum: Datentechnologien

Als nicht Administrator hat man auf das Programme verzeichniss sowieso keinen Zugriff / du kannst selbst wenn du es im setup anders auslieferst nie sicher sein das der Benutzter auf die Datei schreiben kann.

Solche daten sollten in das Gemeinsame Dateien oder Eigene Dateien Verzeichniss C:\Dokumente und Einstellungen\...

Thema: [erledigt] Ist "virtual" zu "override" zu ändern ein Breaking-Change? [==> Ja]
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

virtual ist ja für die Basisklasse und nicht für die Subklasse.

deine Warnung entsteht nur deswegen weil es meist nicht so beabsichtigt ist, und wenn es doch so gewollt ist das ein Objekt der Subklasse nur dann ihr Methode ausführt wenn auch die Referenz auf die Subklasse zeigt (was zu 95% eben nicht gewollt ist) kann man mit dem Schlüsselwort new in der Subklasse sagen das diese Funktionalität gewollt ist.

Virtual in der Basisklasse und Override in der Subklasse verändert wie schon gesagt die Funktionalität.

Thema: DB1 zu DB2 einzelne Felder kopieren mit Progressbar
Am im Forum: Datentechnologien

Laut MSDN sollte dein Verhalten nur auftreten wenn du das CancelAsync in der DoWork Methode aufrufst.

BackgroundWorker.CancelAsync()

Im notfall kannst du das ganze durch eine eigene Mechanik ersetzten auch wenn ich nicht weiß warum es zu deiner Race Condition kommt.

sowas wie:


while(this.cancelled || work finished)
{
    //work
}

und im button dann cancelled setzen
und in der WorkerCompleted auf das eigen cancelled abfragen