| Autor |
Beitrag |
MartinBush
      
Beiträge: 46
|
Verfasst: Do 12.06.08 10:15
Hallo,
ich hab eine Methode die die Statusbar in Abhängigkeit des Ladezustands des Documentes anzeigen soll.
Anfängerfrage:
Wie mache ich denn der Methode klar das sich der Ladezustand ändert. Muss ich da was übergeben, registrieren?
C#-Quelltext
Danke Martin
Moderiert von Christian S.: C#-Tags hinzugefügt
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 12.06.08 10:20
Hallo und  !
Der WebBrowser hat entsprechende Events wie ProgressChanged, DocumentComplete, FileDownloaded, etc. Auf diese Events kannst Du reagieren und die StatusBar entsprechend befüllen.
Grüße
Christian
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Do 12.06.08 10:27
Hab das Hallo vergessen sory
Und wie reagiere ich - rufe ich die gezeige Methode dann von dort aus auf? Noch einfacher gefragt - wie schaffe ich es diese Methode bei einer Satusänderung aufgerufen wird?
Glaub es klappt:
Bin damit net klargekommen: (object sender, EventArgs e)
MFG Martin
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Do 12.06.08 13:27
Problem besteht immer noch und ist ein generelles Problem.
Egal welche Methode ich implementiere - wie wird einfach nicht aufgerufen - dachte das funktioniert automatisch. Was muss ich tun?
C#-Quelltext 1:
| private void treeView1_MouseUp(object sender, MouseEventArgs e) |
Mfg Martin
Moderiert von Christian S.: Irrtümliches Zitat statt Edit entfernt
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 12.06.08 14:14
Hallo!
Hast Du die Methode denn dem entsprechenden Ereignis zugewiesen? Am Einfachsten geht das über die Eigenschaften-Box im Form Designer.
Grüße
Christian
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Do 12.06.08 14:42
Nee - mit welchem Element in den Properties mach ich denn das?
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 12.06.08 14:56
Erst einmal ein Hinweis vorweg: Du solltest Dir dringend Grundlagen erarbeiten und mit kleinen Sachen anfangen. Sehr gut dafür geeignet ist das OPENBOOK VISUAL C#.
In der Properties-Box hast Du oben Symbole. Da ist eines, das wie ein Blitz aussieht. Wenn Du darauf klickst, bekommst Du in der Box die Events angezeigt, welche es für das markierte Control gibt.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Do 12.06.08 15:23
Hi,
ok - dort ist eigentlich alles leer und weiterhin habe ich da keine Möglichkeiten. Ich möchte ja die Methode nur aufrufen wenn etwas bestimmtes passiert ist. zB Rechtsklick.
Wie wird das denn generell bei C# gemacht? Methode aufrufen, Listener setzen ...?
Link schau ich mir mal an Danke
MFG Martin
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Do 12.06.08 15:44
MartinBush hat folgendes geschrieben: | | ok - dort ist eigentlich alles leer und weiterhin habe ich da keine Möglichkeiten. |
Doch hast Du. Du kannst für jedes Event entweder per Doppelklick eine Methode anlegen oder Du kannst in der rechten Spalte auch vorhandene Methoden mit passender Signatur auswählen.
MartinBush hat folgendes geschrieben: | | Ich möchte ja die Methode nur aufrufen wenn etwas bestimmtes passiert ist. zB Rechtsklick. |
Schon klar, sonst würden wir nicht über Events reden.
MartinBush hat folgendes geschrieben: | | Wie wird das denn generell bei C# gemacht? Methode aufrufen, Listener setzen ...? |
Über die Event-Einstellung in der Properties-Box (s.o.) oder über Code:
C#-Quelltext 1:
| textBox1.TextChanged += textBox1_TextChanged; |
mit einer Methode textBox1_TextChanged mit passender Signatur (findet man in der Doku).
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Sa 14.06.08 14:40
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 14.06.08 14:47
Du kannst Delegates nicht sein lassen, wenn Du Events machen willst. Das hängt untrennbar zusammen
Zu Deinem Problem:
Du willst auf Mouse Over reagieren.
Du legst eine Methode label1_Mouse Up an.
Und weist die dem Ereignis TextChanged zu.
Fällt Dir was auf?
(Wenn Du das Ereignis über den Designer anlegst, sparst Du Dir vieles, der legt direkt die richtige Mehtode mit richtigem Namen an.)
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Sa 14.06.08 15:11
| Zitat: | Du willst auf MouseOver reagieren.
Du legst eine Methode label1_MouseUp an. |
C#-Quelltext 1: 2: 3:
| public event MouseEventHandler MouseUp; |
| Zitat: | | Und weist die dem Ereignis TextChanged zu. |
Naja "VS" biete mir direkt keine andere Möglichkeit und so vermutete das ich damit das Attribut Text vom label1 ändere.Ist dem nicht so?
Im Anhang mal mein VS - also rein selektieren kann ich dort nichts. Ich dort wohl den Namen der Methode reinschreiben und er generiert mir die dann. Im Anhang mal mein Designer - ich habe bei den Events nur Data und Property Changed.
Mfg
Nachtrag:
Neues Projekt und eine Textbox erstellt die sich ändern soll. Bei den Events habe ich nun Keyevents zur Verfügung und damit hab dann ein Event generiert und bei Tastendruck macht er was. Klasse. Also darüber scheints zu klappen nur nicht wenn ich es selebr mache. Jetzt schau ich mir das noch mal genau an
Einloggen, um Attachments anzusehen!
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 14.06.08 15:20
Du weißt schon, dass Du da eine Anwendung für einen PocketPC erstellst? Das ist klar, dass es da kein MouseOver gibt, es gibt ja in dem Sinne keinen Mauszeiger, der irgendwo drüber sein kann.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Sa 14.06.08 15:20
Da hast du dich aber gründlich verrannt  . Was du gerade programmierst, ist keine Anwendung für Desktop-PCs, sondern für PDAs (Compact Framework)...
Der Projekttyp, den du wohl eigentlich suchst, heißt "Windows Forms-Anwendung".
Edit: Nun hast du anscheinend den richtigen Typ erwischt.
|
|
MartinBush 
      
Beiträge: 46
|
Verfasst: Sa 14.06.08 15:24
Verdammt das hab vergessen - jup es soll für WinCE sein. Sori
Bei Panels wiederum stehen mit Mousevents doch zur Verfügung -jetzt weiß ich wo ich starten kann - danke.
|
|