|
You last visited: Today at 17:37
Advertisement
[C#]Windows Form - Bildteile farbig Markieren
Discussion on [C#]Windows Form - Bildteile farbig Markieren within the .NET Languages forum part of the Coders Den category.
07/23/2013, 21:03
|
#1
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
[C#]Windows Form - Bildteile farbig Markieren
Hallo,
ich würde gerne wissen, ob (und wenn ja, dann wie) es möglich ist in einer Windows Form einzelne Teile eines Bildes, welches in einer PictureBox ist, dazu zu bringen, dass sie die Farbe ändern, wenn man mit der Maus über diese geht und diese Teile des Bilden dann auch wie einen Button anklicken kann, damit eine Aktion ausgeführt wird.
Die Teile des Bildes haben hierbei immer eine andere Form.
Es ist mir egal, ob ich noch ein weiteres Steuerelement hinzufüge, welches sich ändert und anklickbar ist (es soll nur gehen).
Beispiel:
[Normal]
[Maus über der Fläche]
Es sollte am besten nur die Umrandung (und ggf. ein paar Ramenlinien) gefärbt werden, so wie in dem Beispiel.
Ich bin für jede hilfreiche Antwort dankbar.
|
|
|
07/23/2013, 21:29
|
#2
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Ich bin mir nicht sicher aber geht das nicht wie bei Schrift auch über Color und Forecolor etc? Da gibts bestimmt iwas mit Border oderso. brauchte das noch nie, aber ich schätze mal...
|
|
|
07/23/2013, 21:43
|
#3
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Keine Ahnung obs eine bessere Möglichkeit gibt, aber was mir auf die Schnelle einfallen würde:
du speicherst von jeden Buttons (also zb Home-Button, Menu-Button, ...) die Position, und prüfst ob die Maus in diesem Bereich ist. Falls ja, einfach die Umrandung mit GDI übermalen.
|
|
|
07/23/2013, 22:17
|
#4
|
elite*gold: 4
Join Date: Feb 2008
Posts: 3,854
Received Thanks: 1,268
|
Wie wäre es mit MouseHover? Ansonsten musst du, wie bereits erwähnt, die Pixel selbst rausrechnen. (Position; je Breite, Höhe)
|
|
|
07/23/2013, 22:48
|
#5
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
Ok, das klingt schon einmal gut.
Wie mache ich dies nun in der Praxis? Hat jemand eine Anleitung (Links, Codebeispiele, etc.) für mich?
|
|
|
07/23/2013, 23:00
|
#6
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Mausposition abfragen: MouseMove_Event
GDI:
Pseudo-Code:
PHP Code:
if mouse.x > button.x andalso mouse.x < (button.x + button.width) then //wenn maus innerhalb des button bereichs..kannst aber auch einfach zb if mouse.x > 20 andalso mouse.x < 40 then nehmen. angenommen dein Button wäre jz 20px breit und beginnt bei X:20 auf deinem Bild (nur ein Beispiel). das ganze natürlich auch mit der Y Koordinate. gdi.drawlines else gdi.remove end if
Falls ich grad komplette scheiße schreibe, dann sry, bin grad ziemlich müde :>
|
|
|
07/23/2013, 23:45
|
#7
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
Quote:
Originally Posted by Kraizy
Mausposition abfragen: MouseMove_Event
GDI:
Pseudo-Code:
PHP Code:
if mouse.x > button.x andalso mouse.x < (button.x + button.width) then //wenn maus innerhalb des button bereichs..kannst aber auch einfach zb if mouse.x > 20 andalso mouse.x < 40 then nehmen. angenommen dein Button wäre jz 20px breit und beginnt bei X:20 auf deinem Bild (nur ein Beispiel). das ganze natürlich auch mit der Y Koordinate. gdi.drawlines else gdi.remove end if
Falls ich grad komplette scheiße schreibe, dann sry, bin grad ziemlich müde :>
|
Also kann ich auch einfach beim Klicken abfragen, an welcher Position es war und somit dann die entsprechende Funktion ausführen, oder muss ich irgendwie noch über dem Bild die Buttons einbauen (wenn ja, wie mache ich es, dass diese dann genau auf diesen Formen sind)?
PS: Das Bild ist eine *.png Datei (in einer PictureBox, wie ich schon geschrieben habe).
|
|
|
07/23/2013, 23:54
|
#8
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Es gibt ja auch das MouseClick_Event, wo du ebenfalls die Mausposition abrufen kannst (e.X; e.Y). Dann einfach prüfen ob die Position der Maus im Bereich des jeweiligen Buttons liegt und wenn ja, kannst du deine Funktion ausführen lassen.
|
|
|
07/24/2013, 12:45
|
#9
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
|
MouseHover Event und ggf. die OnPaint/Paint funktion umschreiben.
Mit XYZ.PointToClient(Cursor.Position) kannst du die aktuelle Position der Maus auf dem Objekt abfragen.
|
|
|
07/24/2013, 21:46
|
#10
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
Danke, ich werde es mal probieren.
Wenn noch jemand etwas weiß oder mir Beispiele (oder Links) geben kann, dann währe ich dankbar, wenn ihr diese Postet.
|
|
|
07/27/2013, 16:23
|
#11
|
elite*gold: 0
Join Date: May 2010
Posts: 88
Received Thanks: 23
|
Du solltest von Windows Forms auf WPF/XAML umsteigen (Windows Forms sind total veraltet), wenn das ganze nur auf Windows laufen muss. Dort kannst du solche Teile auch sehr gut per Patch zeichnen lassen und dort die Farben angeben.
Ansonsten kannst du auch mit transparenten Bildern arbeiten und beim Hover/Enter Event die Hintergrundfarbe ändern, wobei das Arbeiten mit solchen dingen, wie schon gesagt um einiges besser mit WPF klappt,
|
|
|
07/29/2013, 23:40
|
#12
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
Quote:
Originally Posted by Easy-Emu
Du solltest von Windows Forms auf WPF/XAML umsteigen (Windows Forms sind total veraltet), wenn das ganze nur auf Windows laufen muss. Dort kannst du solche Teile auch sehr gut per Patch zeichnen lassen und dort die Farben angeben.
Ansonsten kannst du auch mit transparenten Bildern arbeiten und beim Hover/Enter Event die Hintergrundfarbe ändern, wobei das Arbeiten mit solchen dingen, wie schon gesagt um einiges besser mit WPF klappt,
|
Sehr toll... würde ich gerne machen, aber ich habe noch gar nichts mit WPF gemacht. Erklär du mir jetzt einmal, wie ich eine WPF-Anwendung gestalte, etc.
Hat schon einen Sinn, wenn ich nach Windows Forms frage und nicht nach WPF bzw. allgemein.
Hast du noch so tolle Ideen?
(Sry, aber wenn ich extra Windows Forms schreibe, dann sollte man sich wohl denken, dass dies seinen Grund hat und dann nicht mit solchen dämlichen Kommentaren um die Ecke kommen)
|
|
|
07/30/2013, 12:33
|
#13
|
elite*gold: 0
Join Date: May 2010
Posts: 88
Received Thanks: 23
|
Na dann ok. Bei dieser Antwort empfehle ich dir: Lass es am besten ganz sein und hör auf einem damit zu belästigen.
|
|
|
07/30/2013, 14:21
|
#14
|
elite*gold: 0
Join Date: Dec 2009
Posts: 29
Received Thanks: 3
|
Hier nen einfacher vorschlag mit winforms
du legst ein weiteres bild (das selbe nur in farbe oder ähnliches)
bei einem mousover darüber
dann färbt sich das bild auch wenn du mit der maus drüber gehst
|
|
|
08/01/2013, 00:01
|
#15
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
Quote:
Originally Posted by taigatenshi
Hier nen einfacher vorschlag mit winforms
du legst ein weiteres bild (das selbe nur in farbe oder ähnliches)
bei einem mousover darüber
dann färbt sich das bild auch wenn du mit der maus drüber gehst
|
Wahrscheinlich nicht das beste, aber würde glaube ich gehen. Danke!
Quote:
Originally Posted by Easy-Emu
Na dann ok. Bei dieser Antwort empfehle ich dir: Lass es am besten ganz sein und hör auf einem damit zu belästigen.
|
Wenn du mit solchen Dingen kommst, wenn jemand speziell nach etwas anderem Fragt, dann musst du mit solchen Antworten rechnen. Wie gesagt, hat so etwas schon seinen Sinn, wenn man es schreibt.
|
|
|
 |
Similar Threads
|
Windows Form Pointer
10/17/2012 - C/C++ - 9 Replies
Hallo, ich weis nicht genau ob der Titel wirklich passend ist ~.~
Ich habe mir in meiner DLL jetzt eine Windows Form geadded.. Funktioniert alles Wunderbar!
Jetzt will ich aber z.b listbox werte außerhalb von der Form Klasse ändern von anderen Funktionen halt aus..
So rufe ich die Form auf ganz normal..
int Main()
|
windows form
04/20/2010 - CO2 Private Server - 4 Replies
okay i made this windows form application.
But how do i save it as a program, so i can make it to a rar file, so it can be used.
lol is an easy question, dont flame me or ill report.
And close this after i got answer.
|
C# Windows Form Application Errors
02/17/2010 - CO2 Private Server - 4 Replies
When I open up a new project, even before I do anything I get these errors in Program.cs:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fal se);
Application.Run(new Form1());
How can I fix these?
|
Image on Windows Form,
02/08/2010 - CO2 Private Server - 6 Replies
Anyone knows how to add the very small Image, of an Application Icon on a C# Windows form Application, Like,
http://img237.imageshack.us/img237/5849/imageke.p ng
flako27-
|
Windows form...
11/15/2008 - CO2 Private Server - 9 Replies
//
|
All times are GMT +1. The time now is 17:38.
|
|