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

23.08.2006 - 14:00 Uhr

Probiers mal so aus (mit der Möglichkeit, die ich weiter oben schon geschrieben hab):

Graphics g = this.CreateGraphics();
Bitmap img_card = new Bitmap("C:\\Dokumente und Einstellungen\\Thomas\\Desktop\\card_background.bmp");
TextureBrush b = new TextureBrush(img_card);
Matrix m = new Matrix();
b.Transform = m;

m.Translate(121, 459);
g.FillRectangle(b, 121, 459, 89, 123);

m.Reset();
m.Translate(222, 459);
g.FillRectangle(b, 222, 459, 89, 123);
// Usw...

Ich habs nicht ausprobiert, denk aber, dass es so klappen dürfte.

23.08.2006 - 13:50 Uhr

Such mal im Forum nach VS2005ImageLibrary (dann bekommst du den genauen Pfad). Ob alle Icons, die du brauchst, enthalten sind, kann ich dir aber nicht versprechen. Die meisten aber schon.

23.08.2006 - 12:29 Uhr

In was für einer Methode zeichnest du? Wie oft wird diese Methode aufgerufen? Sollte diese oft aufgerufen werden (z.B. Paint-EventHandler), solltest du das Bitmap auf jeden Fall einmal in deiner Klasse laden und als Memebervariable zur Verfügung stellen. Im Moment lädst du das Bild bei jedem Methodenaufruf neu, d.h. damit wird auch der Speicher vollgemüllt, wenn der GC sie nicht sofort wieder löscht.

22.08.2006 - 18:22 Uhr

Original von Scotty
User ButterFly02 Spamt hier rum, ist aber vermutlich nur ein BOT, der auch in diversen anderen Forun (Systemen) unter diesen Namen (und ähnlichen) seine Werbung via PN verbreitet.

Nicht nur vermutlich: Kontakt ButterFly02 versendet hier Spam per PM (durch Eingabe von "ButterFly02" in Google gefunden).

22.08.2006 - 17:23 Uhr

Als Ergänzung zu Fabian: Wenn nicht alle "Slave"-CheckBoxen den selben Status haben, solltest du der "Master"-CheckBox den CheckState Indeterminate verpassen.

22.08.2006 - 09:44 Uhr

Ich denk mal das Problem dürftest du mit TextureBrush.Transform lösen.

21.08.2006 - 11:20 Uhr

Außerdem kann man STRG+C per SendKeys an die andere Anwendung schicken und ... schwupps ... ist der markierte Text in der Zwischenablage gelandet.

20.08.2006 - 16:46 Uhr

Wenn du immer das erste Element entfernst und entweder immer vorne oder immer hinten Elemente anfügst, solltest du dir auch mal Queue (FIFO, first-in-first-out) und Stack (LIFO, last-in-first-out) anschauen.

20.08.2006 - 15:11 Uhr
20.08.2006 - 11:49 Uhr

Der Konstruktor von TextureBrush erwartet ein Image-Objekt. Du kannst es z.B. so machen:

Brush b = new TextureBrush(new Bitmap(@"C:\bild.jpg"));
19.08.2006 - 17:27 Uhr

Stichwort: ResourceManger.

19.08.2006 - 15:44 Uhr

Für (einfache) 2D Grafik solltest du eigentlich immer GDI+ nehmen. Siehe dazu [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox) oder Optimierungsideen ? (such auch mal nach "Optimierunsideen", dann findest du die Threads in denen etwas ähnliches besprochen wurde und herbivore auf Optimierungsideen ? verwiesen hat 😉).

19.08.2006 - 14:27 Uhr

Am einfachsten ist es, denk ich, so:

if (this.MdiParent.ActiveMdiChild == this)

EDIT: Wobei das auch true ergibt, wenn das MdiChild gar nicht den Fokus besitzt, sondern eine ganz andere Form.

19.08.2006 - 12:39 Uhr

Das liegt daran, dass du falsch zeichnest. Schau dir dazu das [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox) an.

18.08.2006 - 12:17 Uhr

Du kannst aber auch mal im Forum nach Setup suchen, es gibt nämlich OpenSource-/Freeware-Lösungen (z.B. WiX, oder NSIS).

18.08.2006 - 11:28 Uhr

Das ist kein normales Setup, sondern ClickOnce (suche danach, dann kannst du rausfinden was es ist).
Das, was du willst, ist ein Setup-Projekt (auch danach suchen).

17.08.2006 - 11:32 Uhr

Original von SkySurfer
Wie bekomme ich nun mein Pfad der in einem String steht zu einem Objekt das ich übergeben kann?

Ein String IST ein Objekt. Du kannst also einfach den String übergeben, es wird keinen Compiler-Fehler geben.

Jetzt nehm ich doch an das

Ja??

15.08.2006 - 15:28 Uhr

Eine Frage: Du benutzt Visual Studio 2005 (es ist zumindest eine VS05-Solution) und somit auch .NET 2.0. Warum benutzt du dann eine ArrayList zum speichern von Punkten anstatt einer List<Point>?

15.08.2006 - 12:59 Uhr

Hallo herbivore,

Vielen Dank, für deine Antwort!! Ich wusste gar nicht, dass der Titel automatisch eingefügt wird. So ist es natürlich noch praktischer.
Test: Wunsch: Link als BBCode kopieren. EDIT: Funktioniert perfekt!!

Gruß,
progger

15.08.2006 - 12:14 Uhr

Hallo myCSharp-Team und alle anderen,

Mir ist grad eine Idee für eine Nice-To-Have-Funktiongekommen:
Wie wäre es, wenn bei jedem Beitrag ein Button/Link "Link zu diesem Beitrag als BBCode kopieren" (oder s.ä.) ist?
Ich stelle mir das so vor: Es wird einfach "[URL=%link%]%title%[/URL]" (Felder werden entsprechend eingesetzt) in die Zwischenablage kopiert.
So eine Funktion ist praktisch, wenn man in einem anderen Beitrag auf diesen verweisen möchte. Bislang muss ich immer erst den Titel kopieren, in den FF-Tab, in dem ich den Beitrag schreibe, wechseln, Titel einfügen, zurück wechseln, Link aus Adresszeile kopieren, wieder wechseln, Titel markieren, "Hyperlink einfügen", OK, STRG+V, OK.

Ist als eine kleine Anregung gedacht!

Gruß,
progger

15.08.2006 - 12:06 Uhr

2: Indem du ein Rechteck mit Breite/Höhe 1 Pixel zeichnest. Falls du nicht weist wie zeichnen geht: [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox)

15.08.2006 - 11:28 Uhr

Man kann per Bitmap.GetPixel(x,y) den Farbwert eines bestimmten Pixels bekommen. Wenn du nach "GetPixel" suchst, findest du auch noch eine schnellere Methode, wobei das in diesem Fall irrelevant ist, weil du nur ein Pixel brauchst.

14.08.2006 - 17:28 Uhr

Forumsuche nach Shutdown.

EDIT: Verdammt! 2 schneller als ich 8)

14.08.2006 - 17:27 Uhr

Du kannst ein Alias setzen:

using DNM = Crownwood.DotNetMagic.Controls;
// ...
DNM.TabPage tab = new DNM.TabPage
14.08.2006 - 11:09 Uhr

Original von willy
Ist es möglich, eine Klasse, die aus Visual Basic .NET Code besteht in meinem C# Projekt zu verwenden?

Du kannst die Klasse nicht als Code-Datei einbinden. Du musst ein extra VB-Projekt erstellen, kompilieren und dann die Assembly referenzieren. Du kannst zu deiner Solution aber auch ein VB-Projekt hinzufügen und dann einen Projektverweis setzen.

Oder In einer C# Klasse, visual basic .NET Syntax tz benutzen (using Microsoft.VisaulBasic)

Ich versteh nicht genau auf was du hinaus willst, aber: VB-Syntax kannst du nicht verwenden!! Microsoft.VisualBasic kannst du aber schon einbinden. Du musst aber erst einen Verweis setzen, bevor du "using ..." machen kannst.

13.08.2006 - 11:27 Uhr

Du kannst Graphics.DrawString statt einem Punkt auch ein Rechteck übergeben, in das der Text eingepasst wird. Das Problem ist nur, dass das auch im Vertikalen gemacht wird! Du solltest also die Höhe des Rechtecks so machen, dass auf jeden Fall alles reinpasst und nichts abgeschnitten wird.

13.08.2006 - 11:17 Uhr

Hallo Fabian,

Du kannst uns doch nicht einfach unwissend lassen: Was ist die Möglichkeit? Und hat sie funktioniert?

Gruß,
progger

11.08.2006 - 15:14 Uhr

Es gibt auch noch andere Verfahren zu einer Versionsnummer zu kommen. Z.B. das von SharpDevelop. Dazu findet ihr ein HTML-Dokument im SourceCode unter "\doc\technotes\Versioning.html" (dürfte ich das hier posten oder wie ist das mit dem Urheberrecht??).

10.08.2006 - 16:01 Uhr

Stichworte: Region.Intersect, Region.IsEmpty

08.08.2006 - 10:06 Uhr

Du bist schon auf dem richtigen Weg. So ähnlich ist das im .NET-Framework auch gelöst, wie man leicht mit dem Reflector feststellen kann. Schau dir dort am besten mal die Klassen ThrowHelper, die es in fast jeder Dll mindestens einmal gibt, an.

07.08.2006 - 11:26 Uhr

Ich habe das Probeabo auch bestellt und die Zeitschriften innerhalb von 2 (!!) Tagen bekommen. Ich habe auch schon abbestellt, die Bestätigung hab ich auch schon bekommen. Es verlief alles reibungslos, also braucht sich niemand sorgen darüber zu machen.

02.08.2006 - 21:40 Uhr

Hallo herbivore,

Wenn du nur die Farbwerte aber nicht die Bildbearbeitung brauchst, dann musst du ja kein Bildbearbeitungsprogramm verwenden. Ich verwende dafür pkColorPicker. Das ist echt ein Spitzen-Tool und der Color-Picker macht es noch besser.

Gruß,
progger

02.08.2006 - 15:19 Uhr

Du kannst mal bei Codeproject schauen, da gibt es eventuell so etwas, das du gebrauchen kannst. Ob das auch auf Pocket PC läuft, weiß ich aber nicht.

Ansonsten musst du alles komplett neu machen, denn OwnerDrawMode bei TreeView gibt es für CF nicht.

02.08.2006 - 15:14 Uhr

Zur Not musst du ein bisschen draufzahlen und dir das Heft direkt bei dotnetpro bestellen: Einzelheft-Bestellung. Da musst du aber noch warten, bis das nächste Heft draußen ist.

02.08.2006 - 13:44 Uhr

Wahrscheinlich schon. Aber was hindert dich daran, einfach diese Ausgabe zu kaufen?

02.08.2006 - 09:24 Uhr

Schau bei codeproject.com vorbei. Dort gibt es ListViews mit eingebundenen Controls usw. im Überfluss.

02.08.2006 - 09:19 Uhr

Beim Schließen einer Form, wird sie sozusagen zerstört und freigegeben (es wird Dispose aufgerufen), d.h. es gibt sie (eigentlich) nicht mehr. Probier mal folgendes: Wenn du mit VS arbeitest wird ja automatisch die Dispose-Methode überschrieben. An die hängst du ein "instance = null;" an.

Ehrlichgesagt fällt mir grad ein, dass da das Singleton eigentlich nicht passt. Heißt es nicht, es soll immer genau eine und immer diegleiche Instanz zur Verfügung gestellt werden? Ich glaub, du musst nochmal überdenken, ob Sngleton da das richtige ist.

01.08.2006 - 11:17 Uhr

Klar, das geht genauso. Es ist nur ein Platzproblem: Fortschrittsbalken und Programmicon zusammen auf 16x16 ist ziemlich eng.

31.07.2006 - 19:35 Uhr

Ja, es ist möglich. Wenn der VS-Designer das nicht unterstützt, musst du es händisch machen. Dazu les dir am besten erstmal ein Kapitel über Events in einem Buch durch (z.B. in Visual C# 2005)) (ich schließ jetzt aus deiner Fragestellung, dass du da nicht firm bist, kann mich natürlich auch irren).

31.07.2006 - 19:24 Uhr

Du siehst eine Problematik, die es eigentlich gar nicht gibt 😉.
Deine 1010 Lösung wäre da schon eher ein Problem. Denn: Der Code sollte leicht verständlich sein (ein Außenstehender und du in 5 Jahren sollten verstehen, was der Code da macht). Außerdem ist das meiner Meinung nach ein bisschen eine "Vergewaltigung" (böse ausgedrückt 8o) einer Enumeration (auch wenn die Faktoren Ganzzahlen wären und du nicht deine 1010-Taktik anwenden müsstest!).

Einen anderen Weg hab ich dir schon erklärt.

31.07.2006 - 19:15 Uhr

Siehe StringFormat und StringAlignment. Bei zweiterem ist Near das, bei dem man startet (bei Links-nach-Rechts also linksbündig) und Far das, bei dem man aufhört (bei LTR also rechtsbündig).

31.07.2006 - 19:11 Uhr

Du könntest z.B. auch in die Klasse, in der du die Methode GetFactor hast, ein Dictionary machen, in dem du die Faktoren speicherst:

public class Class1 {
Dictionary<Einheit, double> Factors;

static Class1 {
Factors = new Dictionary<Einheit, double>;
Factors[Einheit.NeueEinheit] = 4.77;
// ...
}

public static double GetFactor(Einheit einheit) {
return Factors[einheit];
}
}

Im statischen Konstruktor füllst du das Dictionary mit den ganzen Faktoren.

Was mir an deiner Lösung aber nicht gefällt: Ein Faktor braucht ja auch einen zweiten Faktor (sprich der "Grundwert"😉. Doch welche Einheit ist der Ursprung (Faktor ist 1)??
Und was machst du, wenn z.B. Zoll die Grundeinheit ist, du aber von Fuß in mm umrechnen möchtest?
Ich würde das ganze eher mit einer (oder mehreren) Umrechnungsmethode lösen.

31.07.2006 - 09:26 Uhr

Statt in Form.Load musst du in Form.Paint zeichnen und zwar auf das in e.Graphics übergebene Graphics-Objekt.

30.07.2006 - 23:19 Uhr

Ist es auch, zumindest um nur das ContextMenu zu deaktivieren. Dazu reicht IsWebBrowserContextMenuEnabled auf false zu setzen.

30.07.2006 - 23:12 Uhr

Hallo Lixtop,

Du musst in Dummy die Eigenschaft als virtual (überschreibbar) deklarieren:

class Dummy : Component
{
    string _blabla;

   public virtual string BlaBLa  // <- implizit [Browsable(true)]
   {
     get {return this._blabla;}
     set {_blabla = value;}
   }
}

Dann überschreibst du die Eigenschaft, veränderst aber die Funktionalität nicht, sondern änderst nur das Attribut:

class OberDummy : Dummy
{
   int _counter = 0;

  [Browsable(false)]
  public override string BlaBla
  {
    get {return base.BlaBla;}
    set {base.BlaBla = value;}
  }
}

Gruß,
progger

28.07.2006 - 19:20 Uhr

Hallo herbivore,

Original von herbivore
Was die extra Symbole für einzelnen Seiten angeht, kann ich mir das noch nicht recht vorstellen. Wenn du konkrete Vorstellungen hast, schreib das bzw. zeig die mal.

Wenn ein Link z.B. auf einen Thread hier im Forum zeigt, dann wird vor ihm ein bestimmtes myCSharp-Icon (in etwa das favicon) angezeigt. Bei externen Links einheitlich ein Icon.
Jetzt stell ich mir z.B. vor, dass bei Links zu einer bestimmten Seite (z.B. codeproject.com, aber auch Wikipedia und ähnliche) auch jeweils ein bestimmtes Zeichen, wie das favicon der Seiten, verwendet wird (dann erkennt man sofort, wo der Link hinführt). Als Beispiel kann man sich mal die Links bei der Syntaxbeschreibung zur DokuWiki anschauen (vorallem die Links zu Wikipedia): Link.

Ich hoffe dir ist jetzt klar, was ich genau mein.

Gruß,
progger

28.07.2006 - 13:44 Uhr

Original von Peter Bucher
Hallo, wie meinst du direkt einfügen?

Du musst einfach die Resourcen-Datei in der Design-Ansicht öffnen und oben "Bild hinzufügen" (od. s.ä.) auswählen.

Was ist eine Proxyklasse?

Eine Proxyklasse (auch Wrapperklasse genannt) kapselt den Zugriff auf etwas (in diesem Fall die Resourcen-Datei) und stellt nach außen hin eine bestimmte Schnittstelle zur Verfügung.

28.07.2006 - 12:16 Uhr

Hallo Peter Bucher,

Original von Peter Bucher
Im Moment mache ich das so, das ich die Bilder (.bmp) in meinem (zurzeit) Debug Verzeichnis ablege und dann nur per Dateiname darauf zugreife.

Wenn du das so machen willst, leg sie aber nicht händisch direkt im Debug-Verzeichnis an (so hab ich dich verstanden). Sondern du bindest sie ganz einfach in dein Projekt ein, sodass sie im Projektverzeichnis gespeichert sind, und machst als "Build-Action" "Copy to Output-Folder" (oder s.ä.).

Irgendwas mit Reccourcen Dateien oder so?

Und kann man die Bilder vielleicht so einbinden, dass sie schlussenlich in der Exe sind?

Das läuft aufs selbe hinaus: Du legst eine Resourcen-Datei an. In die fügst du deine Bilder ein. Die Resource wird dann automatisch in deine Assembly integriert. Du kannst auch noch weitere Resourcen-Dateien mit Länderkürzeln anlegen, die dann in Satelliten-Assemblies landen (Stichwort Lokalisierung).

Gruß,
progger

28.07.2006 - 11:15 Uhr

Original von progger
Die Symbole vor den Links (führt der Link zu einer myCSharp-Seite oder zu einer externen Seite?) finde ich persönlich prima!

Eine Anregung noch: Wie wärs, wenn das noch erweitert wird? Sprich: Symbole für bestimmte andere Seiten (ich denk dabei besonders an codeproject.com).

28.07.2006 - 11:08 Uhr

Stichwort: Anker/Anchor.