Laden...
Avatar #avatar-1931.jpg
Friedel myCSharp.de - Member
Nähe Kassel / Hessen Dabei seit 19.08.2005 830 Beiträge
Benutzerbeschreibung

Forenbeiträge von Friedel Ingesamt 830 Beiträge

19.06.2008 - 15:06 Uhr

Hallo,

ich möchte von einem DataView ableiten, um dieses durch die ITypedList-Schnittstelle um zusätzliche Eigenschaften zu erweitern.

Zur Frage:

wie kann ich folgendes realisieren?


PropertyDescriptorCollection ITypedList.GetItemProperties(PropertyDescriptor[] listAccessors) {
    return ((ITypedList)base).GetItemProperties(listAccessors);
}

Leider implementiert das DataView die Schnittstelle ITypedList nur explizit. Also müsste ich pseudo-code-mäßig die base casten und dann die Methode aufrufen. Das Schlüsselwort base ist aber in diesem Zusammenhang so nicht gültig.

Danke

Gruss
Friedel

19.06.2008 - 12:57 Uhr

Hallo,

obwohl es mir in den Fingern weh tat, habe ich für Holland gestimmt.
Wie die bisher ausfgetreten sind ist vom allerfeinsten. Mir gefällt Offensivfussball und hoffe alleine schon deswegen, dass Holland gewinnt (habe ich das echt geschrieben).

Sollten sich allerdings unsere Kicker doch noch entscheiden, auch solch einen Fussball zu zeigen, war ja durchaus in den letzten Jahren hier und da mal zu sehen, nehme ich meine Stimme für Holland zurück und setze diese auf Deutschland... 🙂

Gruss
Friedel

19.06.2008 - 12:50 Uhr

Hallo,

nur auf die Schnelle Getting Started

Gruss
Friedel

17.06.2008 - 16:44 Uhr

Die wahrscheinlich mit am meisten gefragte Frage 🙂
[

[FAQ] Warum blockiert mein GUI? ](http://www.mycsharp.de/wbb2/thread.php?threadid=27992)

Gruss
Friedel

12.06.2008 - 16:01 Uhr

Hallo Zebes,


data = new DataSet();
data.ReadXML("filename",XmlReadMode.ReadSchema);
testdata = (TestDataSet)data;

dein DataSet dataSet ist numal kein (typed) DataSet TestDataSet.

Erstell eine neue Instanz von dem typed-DataSet TestDataSet un rufe von diesem die Methode ReadXml(...) auf.

Gruss
Friedel

12.06.2008 - 10:15 Uhr

Du hättest dir 20 Minuten deiner Lebenszeit erspart, wenn du dir nur das Beispiel überhaupt mal angesehen hättest.

Wenn du das getan hättest wären dir sicher sofort die MouseEventArgs ins Auge gefallen.

MouseEventArgs sh.: :rtfm: 🛈 📗

12.06.2008 - 09:59 Uhr

Hallo?

Noch einfacher?

[Ironie]
Poste doch einfach genau deine Aufgabe und Wünsche und ich werde sofort alles unternehmen, um dir so schnell wie möglich ein Programm mit entsprechendem SourceCode zukommen zu lassen. Selbstverständlich würde ich es auch unter deinem Namen direkt an deinen Lehrer/Profressor/Arbeitgeber per Mail senden...
[\Ironie]

12.06.2008 - 08:41 Uhr

Hallo Herzog,

auf die Schnelle: Beispiel

Gruss
Friedel

09.06.2008 - 14:55 Uhr

Hallo dcna91,

schau mal in der MSDN nach ManualResetEvent.
Sollte dein Problem lösen.

Gruss
Friedel

09.06.2008 - 08:34 Uhr

umleiten war/ist missverständlich, sorry...


Form f = new Form();
f.KeyPreview = true;

Gruss
Friedel

09.06.2008 - 08:20 Uhr

Hallo msimmerl,

ein KeyPress-Event bekommt immer das Control, welches den Focus hat.
Es gibt für die Form aber die KeyPreview-Eigenschaft, mit welcher du das Event an die Form "umleitest".

Gruss
Friedel

02.06.2008 - 08:36 Uhr

Hallo Th69,

es geht, ist aber nicht ganz so simple:

  • du musst dir eine eigene Collection für deinen Typen schreiben
  • deine Collection muss das Interface ITypedList implementieren
  • in der entsprechenden Methoden musst du einen PropertyDescriptor angeben
  • da ein PropertyDescriptor abstrakt ist, musst du auch noch für deinen Typen einen entsprechenden Typen erstellen
  • in der Methode GetValue des PropertyDescriptors kannst du dann auf die Instanz so zugreifen, wie du es für richtig hälst, also z.B. auch auf Methoden

Gruss
Friedel

30.05.2008 - 08:41 Uhr

Letztendlich ist es aber eine Frage wie man sein Leben einrichtet und welche Prioritäten man setzt. Da ich von Anfang an kein Auto haben wollte, habe ich mein Leben auch entsprechend eingerichtet, dass ich keins brauche. Wenn man sein Leben so einrichtet, dass man ein Auto braucht, dann braucht man eben auch eins. Aber nur deswegen.

Wenn ich sowas höre, stellen sich mir echt alle Nackenhaare hoch, sorry. Ihr Städter seit
also allen Ernstes der Auffassung man käme auf dem Land ohne Auto aus, wenn
man es nur wollte?

Ich musste mit 18 30km (eine Strecke) zu meiner Ausbildung fahren.
Auf der ganzen Strecke geht es durch 5-6 Ortschaften, welche keine 500 Einwohner haben.
Was glaubt ihr wie oft am Tag da ein Bus durchkommt?!

Klar, ich hätte in einem Sägewerk keine 5km weit weg eine Ausbildung machen können
um kein Auto haben zu müssen...

Ich glaube gerade deshalb weil viele Politiker Städter sind, welche KEINE Ahnung
haben wie es ist auf dem Land zu leben (super, wenn ihr mich fragt) und einer
Arbeit nachzugehen, ist diese bodenlose Diskusion über die Pendlerpauschale
überhaupt erst aufgekommen. Kein Mensch vom Land wäre auf die dämliche Idee
gekommen diese abzuschaffen.

Heute fahre ich immerhin noch 28km (eine Strecke) bis zu meinem Arbeitsplatz.
Grob gerechnet lege ich also jeden Tag mehr als 7-8 Euro (Benzin, Versicherung, usw.)
nur für diese Fahrt auf den Tisch. Mit ÖV wären es 8,20 Euro + 20 Minuten laufen.

Darüber hinaus bleibt fahren mit dem Auto nicht aus.
Nur weil eine Firma auf dem Land ansäßig ist, heißt das noch lange nicht,
dass man nicht auch flexibel sein muss.
Das geht an einem Ort, welcher nicht der Arsch der Welt ist (aber man kann den Arsch von hier aus sehen 😄) definitiv nicht ohne Auto.

Gruss
Friedel

28.05.2008 - 09:09 Uhr

Hallo DevHB,

dass geht nur mit einem CodeDomSerializer, welcher deinem Control als Attribut hinzugefügt werden muss. Ist nicht ganz trivial.

Gruss
Friedel

21.05.2008 - 08:53 Uhr

Hallo xxxprod,

ist aber meiner Meinung nach keine Alternative, da der von dir vorgeschlagene Code "nur" die Typen einer Assembly findet. Da impact aber alle aus der Solution haben will, funzt nur der Code so alleine nicht.

Gruss
Friedel

21.05.2008 - 08:20 Uhr

Hallo Wizard,

MSDN

Gruss
Friedel

23.04.2008 - 11:38 Uhr

Hallo Andreas.May,

guckst du hier: DesignerVerben

Gruss
Friedel

17.04.2008 - 15:50 Uhr

Hallo withewolf,

und Willkommen im Forum.

Als Ansatz:

Nehmen wir an, in deinen ComboBox stehen jeweils folgende Einträge:

Combo1:
Rot <---
Gruen
Blau

Combo2:
Rot
Gruen <---
Blau

Combo 3:
Rot
Gruen
Blau <---

Gewählt sind jeweils die mit Pfeil.
Dann nimmst du nicht den Index, sondern den Wert, also den String und verknüpfst diese. In dem Beispiel kommt "RotGruenBlau" raus.

Mit diesem String "fragst" du die Resource ab.


Image img = Resources.MeineResource.ResourceManager.GetImage("RotGruenBlau");

und du hast deine Images.

Gruss
Friedel

15.04.2008 - 13:24 Uhr

obwohl mir noch Code fehlt, um beurteilen zu können woran es ganz genau liegt
Was würde dir denn da noch fehlen? Das ist alles...

Woher soll man bitte wissen, in welchem Thread die Methode überhaupt aufgerufen wird. Ist die in dem Kommentar genannte Form die MainForm, also Hauptthread, oder eine Form, welche bspw. den Fortschritt des Bearbeitungsthreads anzeigt und somit durchaus in einem anderen Thread erstellt worden kann

zum anderem kann es sein, dass an der stelle überhaupt kein InvokeRequired ist...
Doch 🙂

Schön, hast du dann das mit den Klammern mal ausprobiert ?

Ansonsten könnte evtl. das interessant sein: http://www.codeproject.com/KB/cpp/begininvoke.aspx

15.04.2008 - 13:00 Uhr

Hallo JunkyXL,

obwohl mir noch Code fehlt, um beurteilen zu können woran es ganz genau liegt, fällt mir direkt mal die falsche Klammerung auf:


// Form

if (this.InvokeRequired == true)
{
    MethodInvoker2 del = delegate()
    {
        return new Exception();
    };
}
throw (Exception)this.Invoke(del); //sonst kommt er nie an die Codezeile

zum anderem kann es sein, dass an der stelle überhaupt kein InvokeRequired ist (kommt darauf an, in welchem Thread die Form erstellt wurde) und somit die Exception im selben Thread geworfen wird und nicht in dem du ihn erwartest.

Lösen kann man sowas evtl. besser wenn du dir eine in einem Thread geworfene Exception in einer Property des im Thread bearbeiteten Typs "merkst" und diese nach dem beenden des Threads auswertest.

Gruss
Friedel

15.04.2008 - 12:52 Uhr

Hallo MOGNew,

such mal im Forum nach Docking...

Search

Gruss
Friedel

04.04.2008 - 13:57 Uhr

Hallo Christel,

einfach als Owner der modalen Form die Form angeben, welche die mForm anzeigt.

Gruss
Friedel

03.04.2008 - 07:33 Uhr

Hallo Borat,

und willkommen im Forum.

Ich würde die statischen Methoden gar nicht in die Typen Person und Mitarbeiter packen. Wahrscheinlich würde ich eine Art DBManager schreiben, welcher diese Aufgaben für dich erlegit, also z.B. eine Person mit einer bestimmten ID aus der Datenbank zu holen, oder eben alle Personen auf einmal (/mit einer Abfrage).

Was macht es auch für einen Sinn, einem Typen, welcher in Einzahl benannt ist, Methoden zu geben, welche eine Mehrzahl von Instanzen voraussetzen?
Kennst du alle Personen der Welt, und kannst mir auf Anfrage genau eine bestimmte (ID) nennen? (OK, hinkt etwas (static), aber im Ansatz...)

Gruss
Friedel

//Edit: Fehler über Fehler...

03.04.2008 - 07:25 Uhr

Hallo,

nur wenn es etwas kosten darf:

DevExpress

Gruss
Friedel

02.04.2008 - 13:46 Uhr

Hallo timmi,

du musst in den einzelen EventHandler Invoke benutzen, sonst gibt es einen Fehler.

Gruss
Friedel

01.04.2008 - 12:42 Uhr

Hallo,

jup kennt wirklich jeder, sehr einfach...

Gruss
Friedel

18.03.2008 - 14:20 Uhr

Ansonsten gibt es ab .Net 2.0 das Event Shown einer Form, welches erst nach dem Anzeigen der Form ausgelöst wird.

Gruss
Friedel

17.03.2008 - 16:40 Uhr

Hallo phipu,

zum Beispiel:
Codeproject

Gruss
Friedel

13.03.2008 - 09:30 Uhr

Hallo w0schd,

erstmal willkommen im Forum.

Zur Frage:
Kann es sein, dass du deine Projekte innerhalb der Solution mit SolutionFolder strukturiert hast? Wenn dem so ist, hast du deine Antwort. Visual Studio kann keine Projekte nach UserControls durchsuchen, welche unterhalb eines solchen Ordners liegen.

Gruss
Friedel

05.03.2008 - 08:24 Uhr

Hallo,

ich habe zwar noch nie mit dem Debug-Visualizer gearbeitet, aber an Member, auf welche man nicht zugreifen darf, kommt man IMO nur per Reflection.

Gruss
Friedel

03.03.2008 - 13:14 Uhr

Hallo,

Und selbst wenn es höher entwickeltes Leben geben würde: Mal ehrlich, wenn hier ein Alien vorbeikommt und sich das geschehen auf der Erde anschaut, wird es mit den Kopf (oder was auch immer) schütteln, sich sagen "Wie kann man nur so blöd sein", und wieder wegfliegen.

Das sehe ich mal ganz genau so. Kein Alien wird sich in seine Untertasse setzen und mal spontan auf der Erde vorbei schauen. Die werden uns dann schon eine Weile beobachten und wenn die dann das Chaos von evtl. Jahunderten mit angesehen haben, wären die ja schön blöd hier mit uns Kontakt auf zu nehmen. Vermutlich würden wir deren Wissen stehlen und mit deren Technik erstmal richtig Stunk im All anfangen.

Krieg spielen mit größerer Map...

Gruss
Friedel

03.03.2008 - 08:15 Uhr

Hallo,

achte mal auf den Rückgabewert der Methode, mit welcher du die Datei erzeugst. Wie du dann siehst, ist die Datei nach dem Erstellen geöffnet (Stream existiert) und kann (braucht) nicht erneut geöffnet werden.

Gruss
Friedel

15.02.2008 - 10:13 Uhr

Hallo Hubibi,

nimm evtl. GetCellDisplayRectangle(...) und rechne damit. Den x-Wert der Position bekommst du damit raus. der y-Wert sollte immer 0 sein.

Wenn du mit Größe die Breite einer Spalte meinst, hast du die auch damit, wenn nicht, keine Ahnung, aber ein nicht sichtbarer Spaltenkopf hat nunmal keine Höhe.

Gruss
Friedel

15.02.2008 - 10:08 Uhr

Hallo,

man kann im Visual Studio eigene Macros schreiben (Tools->Macros->Macros IDE).
Leider sieht es so aus, als ob man diese Macros "nur" in VB erstellen kann.

Ist dem so, oder kann man Projekte anlegen, welche dann C# als Programmiersprache verwenden?

Danke

Gruss
Friedel

14.02.2008 - 17:14 Uhr

Hallo Gepro,


TreeViewHitTestInfo info = this.treeView1.HitTest(e.Location);
if (info.Location != TreeViewHitTestLocations.PlusMinus) {

}

Gruss
Friedel

14.02.2008 - 16:28 Uhr

Hallo yngwie,

rumdrehen ?


public class TestKlasse<U> IXyz : where U : IComparable
{
}

Gruss Friedel

06.02.2008 - 11:41 Uhr

Hallo,

wir programmieren, wie die meisten wahrscheinlich im Team und sind natürlich über LAN verbunden. Da wir alle die gleichen Einstellungen für unser jeweiliges VS haben wollen, nutzen wir die Einstellung "Team settings" in den Optionen.
Problem: Einige von uns nutzen ein Notebook. Zuhause, oder sonst wo, ist das Netz natürlich nicht vorhanden und somit nutzt VS wieder die lokalen Einstellungen. Soweit so gut.
Nicht gut:

  • VS erstellt ohne Netz immer 3 Odner "Visual Studio blablabla". Warum? Kann man das verhindern ?
  • Wenn der PC wieder am Netz ist, werden nicht, wie eigentlich erwartet die Team settings genutzt, sondern weiterhin die lokalen und der Pfad zu den Team settings ist leer. Hallo? Was bitte soll das?

Verstehe ich hier was falsch, und die Teamsettings sind nicht das was ich brauche, oder geht MS davon aus, dass ein Netz nie nicht erreichbar ist.

Weiß jemand Rat?

Danke

Gruss
Friedel

22.01.2008 - 12:23 Uhr

Hallo DellaRocco,

vermutlich ist die Eigenschaft AutoGenerateColumns noch auf true gesetzt und du bindest eine Datenquelle an das Grid, welche eben genau diese drei "Eigenschaften" besitzt und dadurch das generieren der zusätzlichen Columns auslöst.
Also auf false setzen und

column1.DataPropertyName = "NameDerEigenschaft";

setzen.

Gruss
Friedel

11.01.2008 - 08:27 Uhr

Hallo,

auf die Schnelle gefunden: Using BackgroundWorker to update status (scrollen)

Suchbegriffe: "C#" "Serializer" "Progress"

Gruss
Friedel

07.01.2008 - 16:47 Uhr

hast aber das falsche geschrieben

Jup, hab ich. Meinte eigentlich, wenn der Editor der Zelle den Fokus verliert.
Hab mich wohl zu sehr auf das

verlasse mit der Maus das DataGrid

eingeschossen.

Gruss
Friedel

07.01.2008 - 16:34 Uhr

Hallo dr4g0n76,

super, hätte mir vor ein paar Wochen ständiges Consolen-Getippe erspart. 8o

Trotzdem danke für den Tip.

Gruss
Friedel

07.01.2008 - 16:14 Uhr

Hallo cpetit,

freut mich, wenn du eine Lösung gefunden hast, aber poste diese doch bitte in Zukunft, da jemand anderes diese vielleicht braucht.

Im Leave-Event die Daten zu speichern, also den Editor zu schliessen halte ich für sehr ungünstig. Es ist so, dass wenn das Grid den Focus verliert dieses die noch nicht gespeicherten Daten speichert.
Mir ist kein Programm bekannt, bei welchem dies anders wäre.

Gruss
Friedel

07.01.2008 - 11:36 Uhr

Hallo cpetit,

Was mach ich Falsch?

Das Feld oldRow ist privat, und du kannst deshalb nicht darauf zugreifen.
Das "Überwachungsfenster" funktioniert mit Reflection und kann deshalb den Wert anzeigen.

Gruss
Friedel

03.01.2008 - 08:27 Uhr

Hallo svenson,

Aber eine Menge Code für jede beteiligte Klasse. Kein Klingelkram.

Das stimmt, aber hat man sich an den Mehraufwand gewöhnt, bietet einem die Schnittstelle viele nützliche Eingriffsmöglichkeiten. Nur so als Beispiel: Versionskontrolle verschiedener Versionen des zu (de-)serialisierenden Typs.

Möchte man aber "etwas einfaches" schnell und simple serialisieren ist der XmlSerializer die "bessere" Wahl. Bei komplexen Typen, welche nicht durch einen parameterlosen Konstruktor und getter und setter für alle Eigenschaften verwurschtelt werden sollen, ist ISerializable die Möglichkeit.

Gruss
Friedel

02.01.2008 - 16:06 Uhr

Hallo,

das ist aber nicht alles. Der Serialisierer ist meiner Meinung nach ziemlich dumm. Dem was beizubringen, macht einen wahnsinnig. Es gibt eine Überladung des Konstruktors, welcher du zusätzliche zu erwartende Typen angeben kannst. Wie das sein kann, dass ein Typ unerwartet ist? Keine Ahnung, aber wenn du eine Eigenschaft des Typs Object hast, welche eine Instanz eines Typen, welche eine Instanz eines anderen Typen als Wert hat, kommt das glaube ich vor.

Obwohl hier ja eigentlich alle der Meinung sind, der Formatter sei mist, sehe ich das anders. Im Zusammenspiel mit dem Interface ISerializable ist der Formatter meines Erachtens nach sehr gut.
Volle Kontrolle über de-/serialisieren.
Keine Reflektion und dadurch sehr schnell.

Gruss
Friedel

21.12.2007 - 10:38 Uhr

Hallo herbivore,

Jedenfalls ist es genau die Anforderung.

sehe ich nicht so...

Es geht um folgendes ich habe eine combobox und wenn etwas ausgewählt ist soll eine Datenbank abfrage gemacht werden und wenn nichts ausgewählt ist eine andere abfrage.

ist, und nicht wird 8)

Also wird m.E. noch ein anderes Ereignis genutz, um die Abfrage an die DB zu starten. Ergo müsste man sich im Event immer das "letzte" merken, vorausgesetzt an der Stelle, an welcher die DB-Abfrage gestartet wird, soll nicht mehr die ComboBox abgefragt werden !

Gruss
Friedel

20.12.2007 - 16:19 Uhr

Grundsätzlich habe ich auch nicht über ComboBox.Text gemeckert, sondern über das Event.
Wenn ich allerdings nochmal darüber nachdenke...
Bei einer lokalisierten Form, muss die Abfrage dann schon mit dem ResourceManager erfolgen... ist das toll? Ich denke nicht. Mit SelectedIndex finde ich geht es einfacher. Natürlich kann auch hier ein Problem auftreten, wenn Items verschoben werden.
Demnach ist die sicherste Variante wohl SelectedItem 🙂

Gruss
Friedel

20.12.2007 - 10:16 Uhr

Hallo herbivore,

das SelectedIndexChanged ist in diesem Fall (imho) Mist. Ich muss mir merken, was als "letztes" angewählt wurde und, wie du durchaus richtig bemerkt hast, immer wieder die Instanz-Variable (mein Fehler) aktualisieren. Wo ist da nach deiner Ansicht die Schönheit?
Es reicht völlig aus, wenn man nur ein mal abfragt, eben genau dann, wenn die Abfrage an die DB ausgeführt werden soll, was in der ComboBox steht.

Eine Abfrage an die DB jedesmal dann zu starten, wenn sich der Index der Combo ändert ist wohl mehr als nur Blödsinn, oder?

Reden wir evtl. über das Gleiche aneinander vorbei?

Gerade an der Stelle vielleicht nicht so überzeugend dein Vorschlag, weil ComboBox.Text nie null werden kann. 🙂

Deswegen heißt die Methode ja auch IsNullOrEmpty 🙂 und man muss sich keine Gedanken darüber machen, wann ein String null, oder leer sein kann/ist.

Gruss
Friedel

20.12.2007 - 09:07 Uhr

Hallo Thunderbird0103,

dann müsstet du dir aber in einer Klassenglobalen variablen irgendetwas merken, was dir beim Ausführen der Abfrage als entscheidung hilft, oder du führst bei jedem IndexChanged die Abfrage direkt aus 😦. Beides nicht toll.

Am Rande:
Einen String sollte man (immer) mit String.IsNullOrEmpty auf leer, oder null prüfen, nicht mit s == "".

Gruss
Friedel

19.12.2007 - 12:35 Uhr

Hallo SvenH,

versuch es evtl. mal mit dem Setzen der Position vom BaseStream.

Gruss
Friedel