Laden...
Avatar #avatar-2240.jpg
Lars Schmitt myCSharp.de - Experte
Software Entwickler Witten Dabei seit 11.10.2005 2.223 Beiträge
Benutzerbeschreibung
alias BlackCoin

Forenbeiträge von Lars Schmitt Ingesamt 2.223 Beiträge

12.02.2008 - 18:27 Uhr

Hallo Google10,

mithilfe von extension Methods und ein wenig Regex kannste Dir sowas schnell selber bauen

ok die extension methods brauchste nicht unbedingt

mfg

12.02.2008 - 13:51 Uhr

du solltest Dir die einzelnen FAQ beiträge schon richtig durchlesen

explarisch eine Problembeschreibung:

Zitat:
Wenn ich eine Windows-Forms-Anwendung laufen lasse und aus irgendwelchen Gründen in eine andere Anwendung wechsle, bekomme ich keine aktuelle Darstellung mehr.

Die Anwendung läuft und macht ihren Job (432 Dateien bearbeiten), aber ich bekomme keine Info wie weit die Anwendung ist - die Progressbar bewegt sich nicht, selbst wenn ich nicht auf eine andere Anwendung umgeschaltet habe.

Das GUI ist blockiert, das Fenster lässt sich auch nicht bedienen, also nicht verschieben, nicht maximieren oder minimieren. Beim Versuch das Fenster zu schließen kommt ein Dialog "Das Programm reagiert nicht" mit der Möglichkeit das Programm "Sofort beenden" zu können.

Diese Effekte treten immer dann auf, wenn langlaufende Aktionen (Aktionen, die länger als 1/10s laufen oder laufen können) im GUI-Thread ausgeführt werden.

Die Lösung

Diese langlaufenden Aktionen, die länger als 1/10s brauchen, müssen in einen extra (Arbeits-)Thread ausgelagert werden. Dazu kann man einen extra Thread starten, auf den ThreadPool zurückgreifen oder einen BackgroundWorker verwenden.

mfg

12.02.2008 - 13:43 Uhr

Hallo smilingbandit,

zu diesem Problem empfehle ich
[FAQ] Warum blockiert mein GUI?

und möglicherweise
[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke)

mfg

09.02.2008 - 09:06 Uhr

beim Programmstart muß die variable natürlich gesetzt werden

mfg

08.02.2008 - 20:54 Uhr

Hallo landau66,

möglich wäre es auch das ganze mit eine statische zähl variable zu Implementieren

mfg

05.02.2008 - 00:12 Uhr

Hallo csharpstarter,

das kannste manuell mit SubString() lösen

jedoch solltest du auch eine anständige Worttrennung mit reinbringen

mfg

04.02.2008 - 23:00 Uhr

Hallo handycommander,

warum sollte das funktionieren?

der Empfänger deiner Software könnte doch seinerseits auch die express variante installieren

mfg

04.02.2008 - 20:37 Uhr

Hallo kpatrickk,

du köntest Dir mal den Editor vom Sharp Develop mal ansehen

mfg

04.02.2008 - 20:35 Uhr

Hallo Ayke,

Du könntest dein Ausdruck doch auch mit $ abschließen dann können keine anderen Zeichen eingegeben werden

falls du trotzdem die zeichen haben willst kannste doch genau das als Regex Ausdruck verwenden was nicht erlaubt ist

mfg

03.02.2008 - 23:15 Uhr

kannst dich ja mal dort umschauen http://codeproject.com/

mfg

03.02.2008 - 22:49 Uhr

Hallo saschap,

dreht es sich um wpf oder windows forms?

die wie die Große ListView in Outlook

meinst du das an der linken seite? (das wäre doch ein tree mit überschribenen Nodes)

mfg

03.02.2008 - 09:45 Uhr

@herbivore

natürlich hast Du wie immer Recht " " wäre die bessere wahl

mfg

02.02.2008 - 19:52 Uhr

das stimmt natürlich das WPF hatte ich total übersehen

mfg

02.02.2008 - 19:44 Uhr

Hallo csharpstarter,

ja das wäre ein weg,

wenn du aber viele Werte hast könnte auch eine Collection als übergabe an das jeweilige Unterform herhalten

mfg

02.02.2008 - 19:41 Uhr

Hallo akswift,

nur so als versuch


List<string> a = new List<string> { "A", "B", "C" };
            List<string> b = new List<string> { "B" };


            var erg = from str in a
                      where !b.Contains(str)
                      select str;


mfg

02.02.2008 - 19:32 Uhr

Hallo LukeGee,

warum ersetzt du die Zeichen nicht einfach durch "" solange die Daten im Grid angezeigt werden?

und wenn du diese zeichen gar nicht mehr benötigst, würde ich diese sogar vor dem in die Db schreiben komplett ersetzten

mfg

02.02.2008 - 18:20 Uhr

hallo doudi,

this.Controls.Add

mfg

01.02.2008 - 20:40 Uhr

genau so sollte es klappen

dann mußt du wohl mal manuell in die registry schauen ob der Pfad dort vorhanden ist

mfg

01.02.2008 - 20:19 Uhr

Hallo Locutus und Herzlich Wilkommen,

Du könntest dir ein eigenes Event implementieren das das ganze eben nur weiterleitet

http://msdn2.microsoft.com/de-de/library/8627sbea.aspx

mfg

01.02.2008 - 20:14 Uhr

hallo theguardian,

das liegt daran das dein registry pfad falsch ist

richtig wäre

software/MICROSOFT/windows ...

mfg

27.01.2008 - 14:04 Uhr

Hallo flyAway,

du könntest mal in die Registry schauen ob die Pfade dort gespeichert werden wenn ja dann kannst du diese ja auch dort auslesen

mfg

23.01.2008 - 23:38 Uhr

das wäre doch gar nicht so schwer eine Queue kannst ganz einfach benutzen

im NameSpace System.Collections.Generic

PS. Selbst mit einem Timer kannst Du diesen Weg gehen

mfg

23.01.2008 - 23:27 Uhr

while(!(this.textbox1.Text.EndsWith("validatepassed")))

nee so macht man das nicht, unnütige Last

ich würde am anfang alles zum beispiel in eine generische Queue reinladen

und dann immer wieder sobald ein bestimmtes Ereigniss eintritt (zb dein validatepassed in der textbox) die Queue nacheinander abarbeiten

mfg

23.01.2008 - 22:41 Uhr

Hallo Zumlin ,

du könntest in einem Timer abfragen ob das was du willst drin drinsteht

mfg

23.01.2008 - 21:43 Uhr

Hallo dcna91,

einerseits kannst Du die Text Eigenschaft der Form im Designer ändern

oder nach dem Aufruf der InitializeComponent Methode mit this.Text

oder aber aus einem Anderen Form mit einem Event

so dass die eigene Form das jeweilige Propperty verändert

mfg

23.01.2008 - 21:36 Uhr

Hallo karsten_88 und Herzlich Willkommen,

versuchen könnte man es mit Regulären ausdrücken

mfg

23.01.2008 - 20:40 Uhr

Hallo Kalle,

mit einem Stream auf den Port 80 verbinden und das lesen was zurückkommt

mfg

22.01.2008 - 22:57 Uhr

Hallo messiah_net,

wie wäre MS-SQL Express ?

mfg

22.01.2008 - 12:45 Uhr

Hallo burnersk,

das was du suchst nennt sich PLUGIN

ein Plugin ist normalerweise eine Dll datei und ja auch eine dll Datei kann eine Gui enthalten

such einfach mal hier im Forum nach Plugin

der rest wäre reine Implementation

mfg

22.01.2008 - 12:20 Uhr

Hallo Ihr beiden

@benny! Herzlich Willkommen

warum benutzt ihr nicht einfach UserControls ?

einfach das was ihr jetzt auf dem Panel habt in ein userControl und diese dann dynamisch auf die Form setzten

mfg

22.01.2008 - 11:05 Uhr

Hallo burnersk,

ließ Dir doch mal den kompletten Artikel durch und lade Dir den Code mit runter

mfg

22.01.2008 - 10:51 Uhr

Hallo Bench,

ich denke für den anfang sollte das reichen


textbox1.WordWrap = false;
textbox1.Multiline = true;
textbox1=ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;

mfg

22.01.2008 - 10:34 Uhr

Hallo lucksn,

Du kannst bei einer Combobox doch bei Items.Add(); ein Object übergeben,
zb


public class Obj {
        public int id;
        public string val;

        public override String ToString() {
            return val;
        }
    }

public void AddToCbx(){
  Obj o = new Obj();
            o.id = 1;
            o.val = "test 1";

            comboBox1.Items.Add(o);
}

das hat auch den Vorteil das du die Id sofort zur hand hast sobald du einen Cast auf Obj machst

mfg

22.01.2008 - 09:56 Uhr

Hallo Jelly,

   Du könntest es Dir sehr einfach machen,   

wenn du einfach die Controls die du auf den jeweiliegen Tabs haben möchtest
als user Control realisierst,
das hätte gleichzeitig auch die Trennung als positieven nebeneffekt.
und wie man ein Usercontrol zur Laufzeit auf die jeweilige Form packt
wirst du ja wohl wissen.

Die Navigation könnte dann zb per tree erfolgen

mfg

20.01.2008 - 02:05 Uhr

Hallo Waldi,

Du könntest in der zweiten Form ein event Implemetieren welches von der ersten From registriert wird, dadurch kannst du das Event des Start Buttons an die erste From weiterleiten und dadurch wird der Timer gestartet

mfg

20.01.2008 - 00:34 Uhr

hallo csharpstarter,

naja deaktivieren nicht so ganz

aber wenn du ein flag beim keydown der w taste auf true setzt und dieses flag einfach bei jedem anderen keydown und keyup abfragen wenn true dann zb deine Aktion nicht ausführen. oder den vorgang solange möglich mit e.Handled = true; beenden

mfg

17.01.2008 - 20:10 Uhr

dann versuchs doch mal mit Length anstatt count

mfg

17.01.2008 - 20:09 Uhr

Hallo RHX und Herzlich willkommen,

Du brachst nicht vorher checken ob *.jpg dateien im Ordner liegen

denn wend dort keine liegen siehst du das an der Grösse des arrays

Größe = 0 --> keine jpg dateien im Pfad

und dir ist schon klar das du dieses hier 'fileNames[].contains("]--");"' in einer schleife für jeden einzeln machen mußt oder ?

mfg

16.01.2008 - 23:02 Uhr

was steht denn in der innerexception?

mfg

16.01.2008 - 20:55 Uhr

Hallo RitterChristian,

könnte es sein das die Klasse KDesignerElement keinen Konstruktor ohne Parameter hat?

mfg

16.01.2008 - 19:18 Uhr

Hallo Tam0r,

Die Antwort auf diese und auch weitere Fragen dieser Art kannst Du besser in einem Buch finden als hier im Forum

zb http://www.galileocomputing.de/openbook/csharp/

Stichwort Anweisungen und Ausführungsverlauf

mfg

10.01.2008 - 19:14 Uhr

Hallo Bench,

wenn Jake Dir etwas empfohlen hat dann wird da wohl auch die Lösung drinstehen doch dafür müßtest natürlich dieses Buch einmal lesen

und wenn Du auch einmal hier im Forum suchen würdest würdest Du auch recht schnell fündig werden

mfg

09.01.2008 - 19:59 Uhr

Hallo blue31084,

sorry, jedoch habe ich immer noch nicht so richtig verstanden was du nun möchtest

mfg

09.01.2008 - 19:10 Uhr

Hallo valderrama und Herzlich Willkommen,

Du solltest die Daten ja auch nicht komplett zu beginn laden, es sein denn mithilfe eines eigenen LoadThreads wovon ich aber bei dieser Anzahl eher abraten würde.

Eine bessere Lösung an dieser Stelle wäre ein Dynamisches nachladen von einer geringen Anzahl von Datensätzen.

diue frage wäre jedoch zuerst was willst Du mit den DAten anstellen

Anzeigen ? Dynamisch nachladen
für Berechnungszwecke solltest du die Berechnung lieber auf die Datenbank auslagern

mfg

08.01.2008 - 19:42 Uhr

Hallo KleineSarah und Herzlich Willkommen,

ich kann mir zwar nicht vorstellen dass, das funktioniert
aber ich habe per zufall da mal etwas zu im netzt gefunden

http://subscribe.ru/archive/comp.soft.prog.vbaspsharpnet/200708/30060652.html

ist zwar russisch das kannste dir ja zb mit google übersetzen lassen

mfg

08.01.2008 - 12:40 Uhr

Hallo mendite,

dieses Problem wirst Du immer haben falls Du dein Programm mal auf einen zb Kunden Rechner installierst.

Das Problem ist wie schon vermutet hast die unterschiedlichen Versionen von Office

Ein Stichwort das Dir in diesem zusammenhang helfen könnte wäre Late Binding

Such einfach mal hier im Forum nach diesem Stichwort

mfg

07.01.2008 - 21:05 Uhr

dann wird wohl alles bis auf das eine Programm gesperrt sein

oder es könnte auch eine andere shell in der registry eingetragen sein

mfg

07.01.2008 - 20:21 Uhr

Hallo bhelbig,

wenn ich mich jetzt nicht absolut irre dann ist der Kiosk Modus von XP eine Funktion wo der Admin des jeweligen Systems jede Aktion für diesen Modus freigeben kann

einerseits können Programme ausgewählt werden die gestartet werden dürfen

und auch die Systemfunktionen können ausgewählt werden also wenn der Admin meint der User darf den Rechner herunterfahren dann muß er das aktivieren.

Und nicht du in deinem Programm

mfg