AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# Eigenes Ereignis für eine Klasse
Thema durchsuchen
Ansicht
Themen-Optionen

C# Eigenes Ereignis für eine Klasse

Ein Thema von Luckie · begonnen am 15. Mär 2005 · letzter Beitrag vom 21. Mär 2005
 
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: C# Eigenes Ereiegnis für eine Klasse

  Alt 15. Mär 2005, 14:47
Du hast doch sicher das deutsche .NET-Framework SDK? Dann schau mal bitte unter folgendem Link rein:
Code:
ms-help://MS.NETFrameworkSDKv1.1.DE/cpguidenf/html/cpconprovidingeventfunctionality.htm
Da wird gezeigt, wie man ein eigenes Ereignis mit eigenen Werten usw. erzeugt und auslöst. Ich habe ein ähnliches Prinzip (wenn auch einfacher) bei meinem Help 2.0-Dienst benutzt. Wenn du bspw. die Auswahl der Filter-Combobox im Inhaltsverzeichnis änderst, dann sollen das die Pads für den Index und die Suche mitkriegen und ihre Comboboxen entsprechend anpassen. Und dazu habe ich auch ein Ereignis benutzt. Allerdings brauchte ich keine speziellen Werte. Du allerdings schon, denn ich vermute, du willst den Progressstatus an- bzw. übergeben.

Bei mir sieht´s halt so aus:
Code:
public string FindFilterQuery(string filterName)
{
   if(String.Compare(filterName,currentSelectedFilterName) != 0)
   {
      currentSelectedFilterName = filterName;

      // Ereignis auslösen
      OnFilterQueryChanged(EventArgs.Empty);
   }

   // ... anderer Code ...
}

public event EventHandler FilterQueryChanged;

protected virtual void OnFilterQueryChanged(EventArgs e)
{
   if(FilterQueryChanged != null) {
      FilterQueryChanged(this, e);
   }
}
Du müsstest dein Ereignis an dem Punkt auslösen/aufrufen, an dem sich die Bearbeitung der Datei in irgendeiner Form ändert. Ich denke, irgendwo hier:
Code:
pf.Write(ByteArray, 0, BytesRead);

PS: Das Benutzen habe ich wieder vergessen. Ist auch ganz einfach. Da das Ereignis von meinem Dienst zur Verfügung gestellt wird, schreibe ich eine Zuweisung:
Code:
// h2env ist meine Dienstklasse "HtmlHelp2Environment"
h2env.FilterQueryChanged += new EventHandler(OnFilterQueryChanged);
und die passende Funktion
Code:
private void OnFilterQueryChanged(object sender, EventArgs e)
{
   mainPanel.Refresh();
   filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(h2env.CurrentFilterName);
}
und das war´s. Das wäre jetzt ein Auszug aus dem Suchpad; sprich: einer eigenen Klasse (bei dir mit deinem WinForms-Teil vergleichbar).
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz