Laden...
Avatar #avatar-2094.gif
progger myCSharp.de - Member
Schüler Nähe von München Dabei seit 05.08.2005 1.271 Beiträge
Benutzerbeschreibung

Forenbeiträge von progger Ingesamt 1.271 Beiträge

16.06.2006 - 10:41 Uhr

Wenn, so wie frisch es gemeint hat, die Klassen (z.B. Steuerelemente) schon eine Dispose-Methode anbieten (sprich IDisposable implementieren), einfach aufrufen.
Wenn du IDisposable in eigenen Klassen implementieren möchtest, schau dir einfach mal die Hilfe dazu in der SDK/MSDN-Doku an. Dort sind Beispiele und Richtlinien zur Implementierung.

14.06.2006 - 19:10 Uhr

Das antworte ich auf so eine Frage wahrscheinlich schon zum 10. Mal, aber trotzdem:
Die schönsten Icons gibt es vom Tango Desktop Project. Die sind frei verwendbar, du solltest dir aber trotzdem mal die Lizenz durchlesen.

14.06.2006 - 18:54 Uhr

Hallo rookie,

Original von rookie
Hab schon mal nach "Bootstrapper" gesucht, aber nix gefunden, was mir hier weiterhilft.

Das ist das falsche. Wenn du nach Bootstrapper gesucht hast, müsstest du auch rausgefunden haben, was das ist.

  1. ob das Prog. überhaupt schon installiert ist
  2. wo es installiert ist (Pfad)?

Das kommt ganz auf das Programm drauf an!! Das einfachste wäre, wenn das Programm einen Registry-Eintrag macht, in dem dann auch normalerweise der Installationspfad steht. Ansonsten ist es fast unmöglich! Das Programm könnte auch einen Ordner mit Anwendungsdaten/Konfigurationen in einem persönlichen Ordner erstellen, aber das ist keine Garantie dafür, dass das Programm auch installiert ist (Konfigurationsdaten werden aufgehoben) und dort steht auch normalerweise nirgendwo, wo das Programm installiert ist.

Gruß,
progger

14.06.2006 - 09:44 Uhr

Such mal bei Codeproject nach diagram, charts, 3d charts, ...
Dort gibt es schon sehr gute fertige und kostenlose Lösungen, du kannst dir aber auch abschauen, wie man es macht, und dann selber machen.

12.06.2006 - 20:26 Uhr

PS: Hm, dein SourceType wäre String. Dann geht es wohl so doch nicht. Immerhin würde es die Benutzung deiner String vereinfachen.

Wo ist da das Problem? Dann nimmt man als SourceType einfach String.

EDIT:
@herbivore: Warum editierst du eigentlich nicht so wie wir "normale" Nutzer? Ich denk mal, du kannst das als Fast-Admin irgendwie "anders" machen, aber es ist irgendwie blöd, wenn man es nicht erkennt. Da fragt man sich manchmal, ob man irgendwelche Gespenster sieht 😉.

12.06.2006 - 11:57 Uhr

Du kannst nicht direkt eine Eigenschaft einer Instanz eines Werte-Types (Point ist eine struct), die über eine Eigenschaft nach außen gereicht wird modifizieren. Du musst eine komplett neue Instanz zuweisen:

groupBox.Location = new Point(8, 200);
12.06.2006 - 10:11 Uhr

Stichwort: Bootstrapper. Such einfach mal im Forum danach, kannst gar nicht verfehlen.

11.06.2006 - 20:20 Uhr

Original von Phaiax

in der .Designer-Datei steht immer
#region Vom Windows Form-Designer generierter Code
Gibt es eine Möglichkeit, an diesen Code dranzukommen?

Du musst die Region einfach nur mit dem Plus links aufklappen.

11.06.2006 - 12:26 Uhr

Hättest du dir bei dem Artikel unten die Posts angeschaut, wäre dir sofort dieser aufgefallen. Er steht sogar auf der ersten Seite.
// Edit: Achte darauf, dass es auf der zweiten Seite noch mit dem Thema weitergeht.
// Edit2: Der Link hat nicht auf den Post gezeigt.

11.06.2006 - 12:23 Uhr

Vielleicht einfach ein Schreibfehler (du hast "commom" statt - so wie es, denk ich, gehört - "common"). Vielleicht hast du es aber auch nur einfach falsch ins Forum geschrieben.

11.06.2006 - 12:18 Uhr

Hallo Markus09,

Du machst das DllImport-Attribut nur über die oberste Funktion. Du dachtes wahrscheinlich, das gilt dann für alle - tut es aber nicht! Du musst es nochmal über die zwei anderen Funktionen schreiben, dann müsste es gehen.

10.06.2006 - 11:15 Uhr

Lade die Images halt alle in eine Resourcen-Datei. Das ist eh schöner, als die Bilder zur Laufzeit aus Dateien zu laden.

09.06.2006 - 10:41 Uhr

Die LinkedList<T> gibt es aber auch. Ebenfalls im System.Collections.Generic-Namespace und erst ab .NET 2.0. Für die richtige IDE schau mal Woher bekomme ich eine Integrierte Entwicklungsumgebung für C#? an.

09.06.2006 - 10:38 Uhr

Die Arbeit bei Events wird dir doch abgenommen. Das wird alles automatisch geregelt (das Speichern, das Aufrufen, das Entfernen, ...).

09.06.2006 - 10:33 Uhr

Das Problem mit dem "geerbten Steuerelement/Form hinzufügen" kenne ich. Bei mir zeigt der da nie etwas richtiges an. Ich würde die Dll direkt als Referenz einbinden und dann "per Hand" davon erben. So mache ich es immer.

08.06.2006 - 10:52 Uhr

Wenn die Anzahl der Elemente von vornherein feststeht, ist aber ein Array besser. ansonsten kann man auch an den List<T>-Konstruktor eine Kapazität übergeben, die dann von vornherein zur Verfügung steht. Sonst muss das interne Array immer umkopiert werden.

07.06.2006 - 15:45 Uhr

Schau dir mal den MSDN-Artikel "Building a Simple Diagramming Tool with Windows Forms". Manchmal (um nicht zu sagen oft) ist die eigene Lösung die beste/flexibelste.

06.06.2006 - 12:07 Uhr

Schau dir mal die Überladungen von Invalidate an.

06.06.2006 - 10:32 Uhr

Schau dir mal die Screen-Klasse (System.Windows.Forms) an.

06.06.2006 - 09:27 Uhr

Warum ist es dann in Smalltalk? 😁

05.06.2006 - 14:52 Uhr

Dass du Bücher zu C# < 2.0 vergessen kannst, stimmt so nicht. Die Syntax ist noch gleich. Es gibt nur einige Neuheiten wie Generics, Anonyme Methoden, Neuerungen an der Klassenbibliothek, ... . Die kannst du dir aber dann auch noch extra aneignen. Den Einstieg kannst du z.B. mit dem guide to C# (siehe links im Hauptmenü) machen.

05.06.2006 - 11:19 Uhr

Ich hätte noch eine Optimierungsidee: Fass die beiden for-Schleifen zusammen. BEsorg dir immer als erstes das PropertyInfo-Objekt und dann gleich den Wert auf Basis con x und y.
Fehler konnte ich jetzt auch keinen finden. Ich bräuchte auch die Info in welcher Zeile er auftritt.

05.06.2006 - 11:11 Uhr

Wie wärs, wenn du einen Dialog machst, in dem wieder ein PropertyGrid für den Wert der Property ist?
Stichwort: UITypeEditor und Beschreibung im Teil2 des oben genannten Webcasts.

05.06.2006 - 11:05 Uhr

Es soll auch nicht MainForm von UserControl erben, sondern eine extra Klasse. Die bindest du dann als Control in dein MainForm ein.

04.06.2006 - 19:53 Uhr

Du musst dir erst das den Wert der Kategorie-Property holen und dann davon den Wert der Name-Property.

04.06.2006 - 19:51 Uhr

Stichwort: TypeConverter und ExpandableObjectConverter
Info dazu: PropertyGrid-Webcast Teil1 (und mehr zu PropertyGrid Teil2).

04.06.2006 - 19:44 Uhr

Ich denke mal, du programmierst noch nicht allzu lange. Du solltest auf jeden Fall, bevor du dich an Control-Programmierung usw. machst, ein Buch mit den ganzen basics (vor allem OOP) durcharbeiten. Wenn du nicht so viel Geld ausgeben möchtest, könntest du auch das Ebook Visual C# 2005 nehmen.

04.06.2006 - 18:15 Uhr

Hat es einen Grund, dass du auf ein Panel zeichnest? Wenn du es nur als Zeichenunterlage hernimmst mach Folgendes:

  • Mach ein eigenes UserControl "UserPaintControl" (o.ä.), indem du einzig im Konstruktor den DoubleBuffer aktivierst:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
  • Dann zeichnest du direkt im Paint-EventHandler auf das Control, nicht auf irgendein BackroundImage.
    So müsste es eigentlich flackerfrei sein.

PS: Zeichne nicht direkt im MouseMove-EventHandler, sondern ruf lieber vin dort die Invalidate-Methode deines Controls auf und zeichne dann im Paint-EventHandler.

04.06.2006 - 17:40 Uhr

Hat er doch oben geschrieben.

04.06.2006 - 13:56 Uhr

Probier mal das Form.Activated-Event. Da das nicht nur beim Start aufgerufen wird, musst du aber unterscheiden, ob es das erste Mal ist oder nicht.

04.06.2006 - 11:42 Uhr

Doch, es ist PictureBox.Image. Du zeichnest ja per Graphics-Objekt, das du über Graphics.FromImage(PictureBox.Image) erhältst. Somit zeichnest du auf das Bild.

03.06.2006 - 17:31 Uhr

Siehe auch kleine Diskussion in Erster Test mit SourceSafe 2005.

01.06.2006 - 08:30 Uhr

Dann hat aber die Executable nicht das Icon.

01.06.2006 - 08:28 Uhr

Dann musst du es, denk ich, per Hand machen. Also Strich zeichnen, Lücke lassen, wieder einen Strich zeichnen, usw. Das ist umständlich, aber du könntest dir ja eine extra Methode/Klasse schreiben, der du als Argumente z.B. Strich- und Lückenlänge übergibst. Wenn du das so machst, kannst du es immer wieder hernehmen.

01.06.2006 - 08:25 Uhr

In den Projekteigenschaften im ersten Registerreiter Unter Application-Icon oder so ähnlich.

31.05.2006 - 19:27 Uhr

Pen.DashStyle und DashStyle.Dash. Im "richtigen" Framework könntest du auch noch die Abstände über Pen.DashPattern selbst steuern.

31.05.2006 - 19:25 Uhr

Original von Ranger
Kann mir jmd sagen [...] ob die summary's in ner extra-datei verwaltet werden

Ja, ich. Du hast es richtig erfasst. Die Kommentare werden in einer externen XML-Dokumentations-Datei gespeichert. Damit VS die Datei automatisch bei einem Build erstellt, musst du in den Projekt-Eigenschaften -> 'Build' -> 'XML Documentaion File' ein Häkchen setzen. Pfad und name müssen der, der Assembly entsprechen, damit VS die Kommentare in deinem anderen projekt anzeigt.

Wenn du beide Projekte in einer Solution hast, gibt es eine einfachere und bessere (da noch mehr Vorteile) Variante: Statt einem direkten Link auf die DLL gfügst du zu deinen Verweisen einen Projektverweis auf das Projekt der DLL hinzu. Dann wird auch immer die korrekte genommen (Release/Debug) und beim Build nach Abhängigkeiten geprüft.

31.05.2006 - 17:29 Uhr

Original von Horego
Entsprechend musst du wenn die Maus den Linken Rand erreicht mit einem API Call den Cursor auf die Rechte Seite des Bildschirms Positionieren.

Dafür musst du nicht einmal den Umweg über die API machen. Das geht auch per System.Windows.Forms.Cursor.Position.

31.05.2006 - 17:14 Uhr

Du musst, glaub ich, die PictureBox auch noch aktualisieren. Versuch mal Invalidate oder Refresh.

31.05.2006 - 14:46 Uhr

Z.B. NSIS (Nullsoft Scriptable Install System). Wird z.B. von Winamp eingesetzt.

30.05.2006 - 18:13 Uhr

Das System heißt MDI (Multi Document Interface). Und der Trick ist: Das sind gar keine extra Unterfenster, sondern ganz normale Fenster, die in einem hauptfenster (MdiContainer) angezeigt werden. Bei einer Suche nach MDI dolltest du eigtl. genügend Informationen finden.

30.05.2006 - 17:43 Uhr

Oder WebBrowser.DocumentStream. DocumentText ist aber einfacher, wenn man den HTML-Text als String vorliegen hat.

29.05.2006 - 18:38 Uhr

Du musst das Bild dann selbst abspeichern. dr4g0n76 hat dir einen Link geschrieben. Bei dem findest du

Original von dr4g0n76
die Format-Beschreibungen, klar es ist dann immer noch viel Arbeit, aber Du weißt dann was Du machen musst.

Nach dieser Beschreibung musst du dann das Bild selbst komprimieren/codieren und in einen Stream speichern.
Vielleicht findest du aber auch noch eine Komponente, die das für dich übernimmt.

29.05.2006 - 17:22 Uhr

Was hindert dich daran, das Control in der Version 2 herzunehmen? Arbeitest du noch mit dem alten Framework? Ansonsten würde ich dir zur Version 2 raten, denn da ist der Editor sicher schon um einiges mehr ausgereift.

29.05.2006 - 15:36 Uhr

Dass du mehrere unterschiedliche Styles in einem Text haben kannst, gehts aber nur in der RichTextBox. Nur die bietet auch die von herbivore genannte Eigenschaft SelectedFont.

27.05.2006 - 13:17 Uhr

In WebBrowser: neue Seite verhindern wurde auch so etwas ähnliches behandelt. Vielleicht hilft es dir ja.

25.05.2006 - 17:04 Uhr

Oft wurde in diesem Forum auf das in elektronischer Form kostenlose Buch C# von Galileo Computing verwiesen (ich habe damit meinen Einstieg in C# gemacht). Leider ist dieses noch für .NET Framework 1.0 und somit uralt.

Ab jetzt ist das Buch "Visual C# 2005" des selben Verlags kostenlos online verfügbar. Darin wird diesmal auch Bezug auf die kostenlose Entwicklungsumgebung Visual C# Express Edition genommen. Somit ist das Angebot gerade für Einsteiger und Hobbyprogrammierer sehr interessant.

Ich hoffe, dass ich mit dieser Information vor allem einigen Einsteigern helfen kann. Dass Galileo Computing ein 1320 Seiten starkes Buch wenige Monate nach veröffentlichung schon kostenlos zur Verfügung stellt, finde ich einen Hammer.

25.05.2006 - 16:50 Uhr

Es sind schon über Entwickler-Pattern (die der GoF im). Es hat aber nur Praxis-Beispiele (Factory-Pattern z.B. als Pizzeria). Das ist aber nicht schlimm, im Gegenteil: Unter diesen Dingen kann man sich viel mehr vorstellen als unter irgendwelchen abstrakten Beispielen aus der IT-Welt.
Die Beispiele und Code-Listings sind alle in Java, was einen C#ler aber nicht im Geringsten stören dürfte (mich z.B. nicht). Alle Klassen aus der Java-Runtime, die nicht selbserklärend - weil so (ähnlich) auch im .NET-Framework vorhanden - werden erklärt. Also ich hab alles verstanden.

25.05.2006 - 10:50 Uhr

Also ich habe mit AnkhSVN noch keine (allzu) schlechten Erfahrungen gemacht. Die aktuellste Version läuft eigtl. recht stabil und hat auch keine Probleme mehr mit Ordnern. Wenn man es alleine einsetzt, kommt es schon zu Problemen. Wenn man es aber parallel zu TortoiseSVN einsetzt, läuft es, meiner Meinung nach, wie geschmiert. Dann kann man irgendwelche Sachen, die AnkhSVN nur teilweise macht mit TortoiseSVN korrigieren.