Autor |
Beitrag |
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Fr 21.08.09 10:30
hi
ich möchte bei einem doppelklick auf das aktuelle fenster einen kreis an der aktuellen mausposition erstellen.
dazu meine frage.
wie kann ich im quellcode von c# einen kreis auf der anzeige erzeugen?
diesen kreis sollte möchte ich auch anklicken können, sodas ein popup fenster aufgeht. Wie kann ich das realisieren?
wenn ihr nicht versteht was ich meine bzw mehr infos braucht, dann fragt bitte nach. ich bin noch ein anfänger
ich programmiere mit Microsoft Visual c# 2008
|
|
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Mo 24.08.09 09:11
hat den niemand eine idee?
gruß
matt
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 24.08.09 09:31
Kannst Du einfach ein Objekt der Klasse Ellipse erzeugen?
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Mo 24.08.09 09:38
ja das schon.
aber wie füge ich das dann meinem window hinzu? das hat bei mir nicht geklappt.
habs mit mywindow.AddChild(ellipse) versucht. natürlcih vorher ellipse erstellt und höhe und breite festgelegt. muss ich da erst noch die position festlegen? wahrscheinlich schon. aber wie? hab da nicht gefunden
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 24.08.09 09:49
Das Window hat doch als Child-Element meist ein Grid. Dem würde ich das hinzufügen.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Mo 24.08.09 10:16
ja aber wie denn?
bei mywindow.win1grid. gibts keine AddChildren(Object object).
sondern nur win1grid.Children.Add(ellipse);
aber da seh ich noch nichts. wahrscheinlcih fehlt noch die angabe der position. wie mach ich das? ich finde keine variable in der ich das angeben kann
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 24.08.09 10:32
Das hier funktioniert bei mir:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| private void button1_Click(object sender, RoutedEventArgs e) { var el = new Ellipse(); el.Width = 100; el.Height = 100; el.Stroke = new SolidColorBrush(Colors.Black);
theGrid.Children.Add(el); } |
Hast Du vielleicht weder Stroke noch Fill gesetzt?
Die Position der Ellipse bestimmst wie die jedes anderen Elements: HorizontalAlignment und VerticalAlignment setzen, anschließend den Margin.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Mo 24.08.09 10:58
ja das wirds wohl gewesensein. jetzt hab ich stroke gesetzt und scho gehts Danke
nochmal wegen der position.
mit HorizontalAlignment und VerticalAlignment kann ich doch nur sagen obs oben, unten, rechts oder links ist. stimmts?
ich wills aber an der aktuellen mausposition, dich ich scho gespeichert hab.
also ich muss nur noch den wert irdendwie zuweisen. aber wie??
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 24.08.09 11:12
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Mo 24.08.09 11:39
ja stimmt danke. es ist zwar etwas getrickst aber es geht
naja fast. ich bekomm grad für meine mauposition ehr zufallswerte. und bei jedem durchlauf sinds die gleichen, bis ich das programm neustarte.
C#-Quelltext 1: 2: 3: 4: 5: 6:
| private void myWindow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { xPos = e.GetPosition(this).X; yPos = e.GetPosition(this).Y; ... } |
geht das nciht so?
Moderiert von Kha: C#-Tags hinzugefügt
|
|
Kha
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Mo 24.08.09 23:26
matt951 hat folgendes geschrieben : | naja fast. ich bekomm grad für meine mauposition ehr zufallswerte. und bei jedem durchlauf sinds die gleichen, bis ich das programm neustarte. |
Sind die Punkte so positioniert oder hast du im Debugger die zwei Variablen inspiziert? Wie auch immer, der Fehler dürfte sich hinter dem "..." verstecken .
PS: Keine großartige Verbesserung, aber statt Grid und Margin kannst du auch ein Canvas-Panel benutzen. Und am schönsten ist es, wenn man im Code überhaupt keine Elemente erzeugt, sondern das den DataTemplates überlasst, aber das hat noch Zeit .
_________________ >λ=
|
|
matt951
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 26.08.09 08:01
Danke das funktioniert mittlwerweile
|
|