Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

C Sharp - Refresh von Panel bzw. Grafik

Frage Entwicklung C und C++

Mitglied: Heinz2511

Heinz2511 (Level 1) - Jetzt verbinden

23.12.2014 um 13:38 Uhr, 1157 Aufrufe, 2 Kommentare

Hallo,

ich benutze Visual Studio 2010 und Windows Forms.

Ich habe eine Form (formSpielfeld) mit einem Panel (panelSpielfeld) das ich mit .CreateGraphics() als Grafikobjekt für ein kleines Spiel benutze.

Nun habe ich das Problem dass wenn ich per MessageBox.Show während dem Spiel eine Meldung anzeige die Grafik des Spiels durch die MessageBox überschrieben wird, d.h wenn ich die MessageBox schliesse dann sehe ich ein graues Rechteck im Spielfeld da wo vorher die Messagebox war.

Ich habe versucht im Paint-Event des Panels ein Refresh zu machen, das hat aber nicht funktioniert.

Meine Frage ist also wie ich sicherstellen kann dass die Grafik (Panel) meines Spiel immer angezeigt\refreshed wird auch wenn zwischenzeitlich Messageboxen oder auch andere Anwendungen über dem Spiel erscheinen ?

Danke
Mitglied: 114757
23.12.2014 um 14:30 Uhr
Moin,
da kann ich dir folgenden Artikel wärmstens empfehlen:
http://www.codeproject.com/Articles/1355/Professional-C-Graphics-with-G ...
In deinem Fall ist der Abschnitt The Invalidate() Method interessant:

Zitat:
There's an additional performance-related reason. Suppose at about the same time a couple of different requests to draw part of the screen come in. Perhaps, your code has just done something to modify the document and so wants to make sure the updated document is displayed, just as in our example, while at the same time the user has just restored the window or moved another window that was covering part of the client area out of the way. By calling Invalidate(), you are giving windows a chance to notice that this has occurred. Windows can then merge the Paint events if appropriate, combining the invalidated areas, so that the painting is only done once. (Calling a method to do the painting directly from your code might needlessly result in the same area of screen being repainted more than once.) 
Gruß jodel32
Bitte warten ..
Mitglied: Heinz2511
23.12.2014 um 14:47 Uhr
Danke für die Antwort.
Aber wann bzw. wo sollte ich invalide aufrufen? nach jedem Messagebox.show?
Und wie würde ich wissen wann ich invalide aufrufen muss wenn zum Beispiel eine andere Anwendung (Notepad, Calc etc.) über meiner Spielgrafik stand?
Bitte warten ..
Ähnliche Inhalte
Visual Studio
C Sharp Form übergreifend das Panel ändern
gelöst Frage von DippsVisual Studio3 Kommentare

Hallo ich habe ein Form1 mit Menü Band und einem panel1 Im panel1 werden meine Subforms geladen je nachdem ...

C und C++
C-Sharp - Externes Programm in Panel anzeigen und Image davon erstellen
Frage von mabue88C und C++4 Kommentare

Hallo, für die Darstellung von Kamerabildern einer Videoüberwachungsanlage wird ein Programm, das vom Hersteller der Anlage zur Verfügung gestellt ...

C und C++
C-Sharp Form über Dran n Drop an einem Panel docken
Frage von YanmaiC und C++1 Kommentar

Hallo ihr Administratoren, ich habe eine Form (Form2) ohne Border, aber trotzdem ist diese Form bewegbar. Auf der Form1 ...

IDE & Editoren
IDE für C-Sharp und C++ auf Windows
gelöst Frage von BugdroidIDE & Editoren8 Kommentare

Hallo, Ich nutze derzeit Visual Studio, aber auf Dauer ist es mir etwas zu Ressourcenfressend und für meine Zwecke ...

Neue Wissensbeiträge
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 20 MinutenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...