Konrad Rudolph schrieb:
... weil jede Klasse in der Hierarchie ihren eigenen Renderer mitbringt.
Ah ok, du meinst, das Frageobjekt ein Property 'Renderer' mit dem dazugehörigen Renderer besitzen muss...?!
Ja ok, du hast gewonnen..ist echt ne gute Idee...hätte ich eigentlich selbst drauf kommen können...
Danke dir
Wenn IBText die vom Studio generierte Ressourcenklasse ist (heißt die nicht normalerweise Resources?), greifst Du auf den String mit IBText.Top_MonthEdit zu. Die Platzhalter zu füllen hat mit dem Zugriff nichts zu tun, das machst Du ganz normal mit String.Format.
Wenn Du denkst, .NET sei lediglich ein aufgebohrtes COM, dann versuch mal, ein Betriebssystem auf COM-Basis aufzuziehen.
Ergibt keinen Sinn? Richtig. In .NET aber schon
http://www.codeplex.com/singularity
nep schrieb:
*: Es gibt aber Ausnahmen: Wenn du z.B. Werte-Typen speichern willst (primitive Datentypen, Structs), dann ist sogar auch aus Performanzgründen ganz klar die List<T> zu bevorzugen. Grund: Du sparst dir das (aufwändige) autoboxing-unboxing.
Das ist hier aber total irrelevant (und alles, was danach kommt, auch), denn es ging nicht um 'List<T>' vs. 'object[]' (das wäre ja auch idiotisch) sondern um 'List<object>' vs. 'object[]' und da besteht absolut kein Unterschied.
Ermittel aus allen Terminen denjenigen, der als nächstes fällig wird, dann ermittel die Zeit von jetzt bis zu diesem Termin und setze einen Timer. Wird eine neue Aufgabe hinzugefügt / gelöscht / geändert berechne die Zeitdifferenz neu. Für verschiedene Typen von Terminen werden Kategorien eingeführt, jede Kategorie hat seine Regeln.
Sorry, aber "absolut bescheuert" ist es auch, wenn man drei einfache Ratschläge (mehrmals) bekommt und nicht in der Lage ist mehr als einen davon auf einmal umzusetzen.
LordJaxom schrieb:
Einfach mal ein bisschen im Eigenschaftenbrowser suchen oder mit anderen Steuerelementen vergleichen.
Die gesuchte Eigenschaft heißt Text (wie auch bei TextBox :D)
Mein Gott in Java geht das mit getSelectedItem() konnt mir gar net vorstellen im Entferntesten dass das mit .Text geht... naja muss mich noch an das property zeug gewöhnen danke dir!
Knuddlbaer schrieb:
[[ot]
@schmidt: Die Seite schaut nett aus, die URL weniger. Ein Impressum wäre auch ein großes plus.
[/ot]
Danke schön für das "die Seite schaut nett aus", das hört wohl jeder gern Was gefällt dir denn an der URL nicht? Das große plus für ein Impressum findest du übrigens auf allen Seiten ganz unten rechts und das Farbschema kannst du dir (ebenfalls auf allen) oben links anpassen.
Deiner dritten Möglichkeit (Überdenken der Anforderung) stimme ich zu, ein Blick auf das Grid-Control dürfte diese Überdenk-Entscheidung noch erleichtern/beschleunigen.
der worker weiss ueberhaupt nichts
du hast lediglich die moeglichkeit an einer bestimmten stellen im "DoWork" ein progress selber zu senden
stichwort "ReportProgress"
beispiel pseudo code:
class Bla
{
private BackgroundWorker _serverWorker = new BackgroundWorker();
private PleaseWait _pleaseWait = new PleaseWait();
public Bla()
{
_serverWorker.WorkerReportsProgress = true;
_serverWorker.DoWork += new DoWorkEventHandler(serverWorker_DoWork);
_serverWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(serverWorker_RunWorkerCompleted);
_serverWorker.ProgressChanged += new ProgressChangedEventHandler(serverWorker_ProgressChanged);
}
private void serverWorker_DoWork(object sender, DoWorkEventArgs e)
{
// Do any in the worker
_serverWorker.ReportProgress(1);
// next
_serverWorker.ReportProgress(2);
// next
_serverWorker.ReportProgress(3);
}
private void serverWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
_pleaseWait.ProgressPos = e.ProgressPercentage;
// show info about current action the the thread on the please wait dialog
}
private void serverWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
_pleaseWait.Close();
}
public void Run()
{
_pleaseWait.Owner = this;
_pleaseWait.ProgressRange = 3;
_serverWorker.RunWorkerAsync();
_pleaseWait.ShowDialog();
}
}
man kann den RunWorkerAsync auch n parameter mitgeben
@TH69:
Vielen Dank für die schöne Erklärung.
Das hat mir sehr geholfen, das deckt sich exakt mit dem überein, was ich meine schon in Erfahrung gebracht zu haben. Ich glaube ich habe das Prinzip nun endlich grundlegend verstanden und kann die Puzzelteile zusammensetzen.
Das Ganze fungiert als riesige Kette, was ich etwas "unübersichtlich" finde, zumindest jetzt noch, wahrscheinlich aber auch nur, weil mir noch viele weitere Grundlagen fehlen ...).
MFG
Marco