Suchergebnisse
Suchergebnisse 1-30 von insgesamt 58.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
nee - ausgezeichnete Beschreibung! Du glaubst garnet, wie schwer sich Progger gewöhnlich damit tun, ihre Absicht zu beschreiben - die verzetteln die sich immer in Pictureboxen, Textboxen, Events und wasses alles gibt. Also ich krieg auf die Frage ganz oft ausführliche Beschreibungen der mutmasslichen Mittel, aber das Ziel wird dabei kaum klarer (und die angedachten Mittel mögen ja höchst ungeeignet sein). Also beim OwnerDrawing hättest du eine Figur-Klasse, die sich selbst zeichnet. Die könnte e…
-
aber das ist im Projekt doch gezeigt. naja, nun grad nicht mit Bitmaps, also statt e.Graphics.DrawPath(...) musste halt hinschreiben e.Graphics.DrawImage(...). Guck dir die Graphics-Klasse auch im ObjectBrowser an - die bietet im wesentlichen alle Zeichen-Möglichkeiten. ObjectBrowser kennste? sonst VisualStudio richtig nutzen
-
Das ist eine Paint-Methode. Sie painted eine String, in zeile#11. Von der Signatur her ("Signatur": Grundlagen: Fachbegriffe) ist die Methode geeignet, das Paint-Event eines beliebigen Controls zu empfangen. Der Text wird zentriert geschrieben ins Rechteck 10, 10, 732, 160 Aber warum beschäftigst du dich mit Schnipseln, zu denen du kein lauffähiges Projekt hast, anstatt die Projekte anzugucken, die ich dir verlinkt habe?
-
Inhaltlich ist die Methode ok - bis auf die Kleinigkeit, dass in jedem Aufruf ein neues StringFormat erzeugt wird. Stringformat ist IDisposabel, also entweder solltest du nur ein einziges erzeugen, und immer wiederverwenden, oder du musst es jedesmal disposen. Ich bin für ersteres, denn Paint-Methoden sollten möglichst schnell sein. Dasselbe gilt noch mehr für den Font. Font ist eine ziemlich fette Struktur. Nicht erkennen kann ich, ob dieser Eventhandler überhaupt ein Event empfängt.
-
ah, ok. nun Frage: Was bezweckt diese Endlosschleife? VB.NET-Quellcode (3 Zeilen) ah - schon verstanden: infoboard.Dispose() soll nicht erreicht werden. Aber dann lösch doch einfach die zeilen #19 - #23 - damit erreichst du dasselbe Ziel, und sparst jede Menge Rechner-Resourcen. Noch weiter gedacht könnte die ganze Methode weg - eine Picturebox kannst du besser im Form-Designer aufs Form machen, inklusive aller Einstellungen, die dein Code zeigt.
-
Zitat von Schmandal: „Wenn ich Deine und Rods Beiträge richtig verstanden habe, ist die Paint Methode wohl nicht die beste Lösung sowas zu realisieren.“Versteh ich nicht. Die Paint-Methode - also die Behandlung des Paint-Events ist der Kern des OwnerDrawing-Ansatzes. Und den OwnderDrawing-Ansatz halte ich für den besten. Ist zunächstmal anspruchsvoller zu programmieren, aber das naive "picturebox hinmachen, picturebox wegmachen" zieht allerlei Folge-Probleme nach sich, die sich bei OwnerDrawing …
-
Du solltest es einfach mal machen. Programmier eine Karte-Klasse, und gib ihr die notwendigen Properties. X, Y, Bounds (Abmasse), IsBurning, IsHovered, IsSelected, IsAufgedeckt etc pp. Deine Fragen beantworten sich dann tw. selber, etwa die Frage "Wie kann ich zu einer bestimmten Karte ohne die Bilder durchzugehen, denn wissen bei welchen Koordinaten diese liegt?" - Koordinaten werden zB mit X,Y angegeben. Zitat von Schmandal: „Wie vollziehe ich bei dem oben genannten Beispiel den Aufruf der Sub…
-
also mir ist deine Zeichenmethode suspekt:VB.NET-Quellcode (6 Zeilen)Wo kommt standardx, standardy her, und enthalten die sinnvolle Werte? Also befindet sich das Rechteck überhaupt im sichtbaren bereich der TabPage, und ist es größer als mw. 20 Pixel? und die Graphics-Konfiguration muss nicht jedesmal neu gemacht werden, sonder wie ich gezeigt: Einmal, vor der Schleife im Paint-Event, dann sind sie konfiguriert die Graphics.
-
Zitat von Schmandal: „Und das andere Late Binding Problem habe ich mit einem Linq.Jarray gelöst, wobei ich nicht genau weiß ob ein anderer Weg besser gewesen wäre?“hab ich was verpasst - was war das andere LateBinding-Problem? Königsweg, um LatebindingProbleme zu lösen ist, die Datentypen so zu wählen, dass sie auch zueinander passen, und dass nur Member aufgerufen werden, die auch existieren. Was ist dieses directwr für ein Ding?
-
doch. Ist eine Architektonische Frage. OwnerDrawing mit Figuren, die sich selber zeichnen ist vonne Code-Aufteilung her recht optimal: Das Zeichnungs-Gefummel mittm Graphics ist in der Figur angesiedelt, sodass die PaintEvent-Methode der Owner-Klasse die Figuren durchnudeln nur noch muss. Das ist deshalb sehr schön, weil die Owner-Klasse ist meist eh voll mit allem möglichen, da ist man für jedes Stückerl Code, was man auslagern kann, dankbar. Du aber willst nicht, dass die Figur selbst weiß, wo…
-
Ich gehe von meim Vorschlag auch wieder ab. Also vergiss ihn. Eine Figur muss ja jederzeit auch ihre Abmasse angeben, und dazu ist unverzichtbar, dass sie ihre Position kennt, also selbst kennt. Also entweder eine Property Location as Point oder halt die Props X, Y. Was du machen kannst, ist, deine Karten in einer ObservableCollection(Of Card) zu halten, und deren CollectionChanged-Event zu überwachen. Und immer wenn die Collection changed, dann berechnest du die Locations der Karten neu und wei…
-
Einfach alle Karten der Hand durchrechnen. Ist viel Arbeit, und die viele Ergebnisse erbringen auch gar keine Änderung, aber die Arbeit macht ja der Computer. Und wie gesagt im CollectionChanged - da halt eine Schleife, und die Rechnet die Locations - ich sehe da kaum mehr als 10 Zeilen Code, und es ist abgehandelt. Was du mit Modulo, Reihen, und 20 Decks hast, dem kann ich nicht folgen. Aber das ist alles endlos viel Gerede, und nirgends Code zu sehen. Statt zu programmieren scheinst du ständig…
-
Dann guck nochmal das StoryCard-Projekt an. Jede Karte bewirkt bei Änderungen ihrer Optik 2 Invalidates. Dabei wird nicht das ganze Control invalidiert sondern nur die Fläche der Karte. Und zweimal wird invalidiert, nämlich einmal vor der Änderung und einmal danach. Das vor der Änderung invalidieren ist erforderlich, um die Löschung der vorherigen Zeichnung zu bewirken. Ist klar - im MouseMove immer das ganze Control invalidieren tut weh. Das Konzept von Ownerdrawing ist, nur dann zu invalidiere…