Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
C#-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
... //hier bekomme ich alle Events zwischen zeitpunkt A & B -> MovingEPG ist die verschiebung nach links bzw. rechts, zoom ist die zoomstufe TVEvent[] recEvents = ChannelList[i].getEvents(DateTime.Now.AddHours(movingEPG), DateTime.Now.AddHours(movingEPG + zoom)); for (int k = 0; k < recEvents.Length; k++) { DateTime startTime = DateTime.Now.AddHours(movingEPG);//startzeit int curdaymin = (startTime.Hour * 60) + startTime.Minute;//umrechnen in Minuten double dur = (recEvents[k].duration / 60) * ((zoom/2)*5.5);//Duration in Minuten * Pixel position double pixlstart = (recEvents[k].start.Hour * 60) + recEvents[k].start.Minute - curdaymin; //startzeeit in Minuten if(recEvents[k].start.Day != startTime.Day) pixlstart -= 24*60; pixlstart = (pixlstart * (zoom/2)*5.5) + 140; //to Pixel Label newevent = new Label(); newevent.Text = recEvents[k].title; newevent.Size = new System.Drawing.Size((int)dur, 25);//duration newevent.Location = new Point((int)pixlstart, 40 + (i * 30)); //location start position, Y Postion on Screen newevent.BackColor = System.Drawing.Color.Transparent; newevent.BackgroundImage = bar; newevent.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; newevent.Font = new Font("Georgia", 8, FontStyle.Italic); newevent.ForeColor = System.Drawing.Color.White; newevent.Tag = recEvents[k]; newevent.Click += new System.EventHandler(event_clicked); newevent.Visible = true; newevent.Show(); ... |
C#-Quelltext |
|
1 2 |
newevent.Tag = recEvents[k]; newevent.Click += new System.EventHandler(event_clicked); |
Also, das hier ist nur das obere Viertel des Forms, andere Breiche (Mail/wetter/Haus) müssn auch noch einiges zeichnen, ohne Doublebuffering kann man zuschaun wie sich die Seite langsam aufbaut -_-Zitat
Warum die Dinge bei dir flimmern und du Rendermethoden selbst aufrufen musst ist mir allerdings immer noch ein Rätsel.
Erst einmal Danke für die Antwort Wie schon geschrieben waren es am Anfang alles nur Labels und dienten der Informationsausgabe (es wurde per Sprache gesteuert). Ich wollte dann nur zusätzlich noch das normale UI hinzufügen. Ja die verschiedenen Methoden sind beabsichtigt, so ist es übersichtlicher im Code.Warum baust du dir deinen Button selbst zusammen? Kannst du nicht einfach fertige Buttons benutzen? Dann unterscheiden sich die Methoden für das Click Event. Auf der ersten Seite ist es eine andere als hier im Code. Nur für den Fall, dass du hier vielleicht anderen Code beim Aufruf erwarten könntest Weiß ich ja nicht
Dann hängst du den Button nicht in die Form ein. Muss man den Button nicht irgendeinem Panel in der Form hinzufügen? Du erstellst ihn zwar, aber machst ja nichts damit.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Werbeanzeige