Ich habe mich dazu entschieden, das Control mehr oder weniger komplett neu zu schreiben, da es immerhin 200 Leute runtergeladen haben. Der Hauptgrund war, dass die letzte Version einerseits sehr fehleranfällig war und wie ich jetzt im Nachhinein doch gemerkt habe sehr schlecht programmiert/aufgebaut wurde. Ebenfalls denke ich, dass es jetzt viel benutzerfreundlicher ist und was mir fast am wichtigsten war nach JAck30lena "Aufforderung" um einiges objektorientierter. Ausserdem habe ich das Control jetzt gerade als Dll. Die Optik ist das einzige, was mehr oder weniger gleich geblieben ist.
Zur Benutzung:
Das Control:
und die CalendarItem- Klasse:
Beim Verwenden des ersten Konstruktors erhält das Item einen vordefinierten (grünen/weissen) Farbverlauf als Hintergrund.
Ich hoffe die Bezeichnungen sind eindeutig, ansonsten könnt ihr mich immer noch fragen (Im Designer gibt es zu einigen noch Descriptions). Ausserdem wäre ich euch dankbar, wenn ihr mir Bugs u.ä. melden könntet.
Mfg
Aratar
Den hab ich selbst hingekriegt und zuerst nicht mal gemerkt. X( 8o
for (int i = 1; i < this.Fitness.Length;i++)
{
double cost = double.MaxValue;
if (Fitness[i] < cost)
{
cost = Fitness[i];
}
}
cost gehört natürlich nicht in die schleife...
Danke. Jetzt gehts. 😄
Gruss Aratar
Hallo,
(Der Titel ist etwas unpassend, wusste nicht wie ich das Problem treffend beschreiben könnte.)
Ich habe folgendes Problem:
Ich habe ein Rectangle, dass sich immer bei IsMouseOver verändert. Nun ist auf diesem Rectangle ein Label. Ich möchte jetzt aber, dass IsMouseOver auch gleich true ist, wenn die Mouse über diesem Label ist. Ist es möglich, dass Label irgendwie "durchlässig" zu machen oder kann man das anders lösen?
Vielen Dank schon im Voraus.
Gruss
Aratar
Ja, entweder so wie es tom-essen geschrieben hat, oder folgendermassen:
IEnumerable<CheckBox> checkboxes = this.Controls.OfType<CheckBox>();
foreach (CheckBox c in checkboxes)
{
//code
}
Gruss Aratar
Hab nochmals die AGBs gelesen und obwohl nicht eindeutig steht,dass automatisierter Zugriff verboten ist, werde ich es doch lieber lassen.
Trotzdem danke.
Gruss Aratar
Ja, wenn ich JavaScript deaktiviere funktionierts nicht mehr.
Hallo,
Ich habe folgendes Problem.
Ich schreibe ein Programm, welches zum herunterladen von Dateien einer Website einen Login erfordert. Für den Login muss man ein Captcha eingeben. Deshalb wollte ich das Captcha runterladen, sodass der Benutzer den Captchatext eingeben kann.
Dafür habe ich auf dieser Seite die Id nachgeschaut um das Bild dann über diese Id herunterzuladen.
Wenn ich mit Google Chrome, Rechtsklick auf das Captcha mache, kann ich auch die Url des Captchas nachsehen. Schaue ich jedoch im Quellcode nach, verweist die Url auf eine andere Bilddatei.
Anders gesagt finde ich die Url des Captchas im Quelltext nicht.
Ist das irgendein Sicherheitsmechanismus? Wie kann ich das Captcha doch downloaden?
Gruss Aratar
Hallo,
Immer wenn ich mit dem CCleaner die Registry säubere befinden sich da haufenweise Einträge, von Programmen, die ich geschrieben habe. Von wo kommt das?
Gruss Aratar
Wegen dem Winkel noch was. Was soll das überhaupt für ein Winkelmass sein, dass du jetzt verwendest? 180° sind etwa 3.01 "deiner" Einheit.
Mein OS ist Win 7 64-Bit. Der Fehler ist bei Opera und Chrome aufgetreten.
Gruss Aratar
Hallo,
Da ich solche Art "Spiele" liebe, hab ich mich gleich angemeldet und schon den ersten Fehler gehabt. Ich kann den Code zwar kompilieren und es kommt auch die Meldung "build successfull", aber der "Play"- Button ist immer noch disabled.
Gruss Aratar
Vielen Dank für die zahlreichen Vorschläge. Werde alle Möglichkeiten mal testen und einen Performancevergleich machen.
Gruss Aratar
Hallo,
Kleine Anmerkung. Schreibe statt:
if (zufall[i] > eingabe[i])
{
vergleich[i] = true;
}
else
{
vergleich[i] = false;
}
Das:
vergleich[i] = zufall[i] > eingabe[i];
Überprüfen musst du es natürlich da, wo die Eingabe stattfindet:
string eingabe = Console.ReadLine();
if (int.Parse(eingabe)<=10&&int.Parse(eingabe)>0)
{
....
}
Gruss Aratar
Hallo,
Ich programmiere gerade verschiedene Fraktals, u.a. das Buddhabrot-Fraktal. Da man für eine gute Bildqualität extrem viele Iterationen und somit extrem viele Rechnungen machen muss dauert das sehr lange, wenn ich es mit C# programmiere. Deshalb ist meine Frage, ob es Möglichkeiten gibt das ganze zu optimieren und zu beschleunigen, damit es schneller geht. Wäre es besser für eine solche reine Rechenaufgabe eine andere Programmiersprache zu verwenden? Ich habe gehört CUDA wäre für so etwas geeignet.
Gruss Aratar
Hallo,
Echt gute Arbeit. Was ich noch nützlich finden würde, wäre, wenn es auch komplexe Zahlen oder Gleichungen mit komplexen Zahlen lösen könnte. Aber ja, wird wahrscheinlich nicht gerade jeder brauchen.^^
Gruss Aratar
Nein, aber am Fokus kann es ja eigentlich auch nicht liegen, da OnPreviewKeyDown zwar ausgelöst wird, aber nur jedes zweite mal.
Gruss Aratar
Ich habe gerade gemerkt, dass bei diesem Control (selbst geschrieben) nicht alle Events ausgelöst werden. Das MouseWheel-Event wird z.B. überhaupt nicht mehr ausgelöst. Hängt das mit dem Fokus zusammen?
Gruss Aratar
Hallo,
Wie im Titel schon beschrieben habe ich das Problem, dass OnPreviewKeyDown nur jedes zweite Mal ausgelöst wird. Gibt es irgendwelche Erklärungen dafür?
Wieso nimmst du dafür nicht einfach einen Container, z.B. ein Panel?
Gruss Aratar
Problem gelöst. Die Ursache war ein fehlender get-Accessor. Komisch daran ist nur, als ich es mit dem Visual Studio 2010 kompilieren wollte, bekam ich die oben genannten Fehlermeldungen. Als ich es jedoch mit dem VS 2008 versucht habe, bekam ich die genaue Fehlerbezeichnung, eben dass ein get-Accessor fehlt...
Gruss Aratar
Hallo,
Bei meinem neusten Projekt stürzt immer der Compiler zusammen, mit der Meldung:
Interner Fehler bei Microsoft (R) Visual C# 2010 Compiler.
Die Fehlermeldungen lauten u.a.:
Interner Compilerfehler: Stufe "EMIT"
Interner Compilerfehler: Stufe "COMPILE"
Interner Compilerfehler: Stufe "CODEGEN"
Leider kann ich mit diesen Fehlermeldungen wenig bis gar nichts anfangen.
Gruss Aratar
Vielen Dank. Werde es mir mal ansehen.
Gruss Aratar
Ist ja peinlich, dass ich die Meldung nie gesehen habe... 8o
Ich bräuchte die Screenshots einzeln, deshalb geht gfoidls Vorschlag leider nicht.
Gruss Aratar
Hallo,
Ich brauche für mein Vorhaben ein Screenshot aller Anwendungen, die gerade laufen. Wie z.B. bei Windows seit Vista mit Win-Taste + Tab, da werden ja auch Bilder aller Anwendungen gemacht. Nur haben ich keinen Ansatz, wie man das realisieren könnte.
Habt ihr vielleicht ein Stichwort?
Gruss Aratar
Ja? Das letzte mal als es mir passiert ist noch nicht.... War anscheinend schon eine Weile her. xD
Dann wäre das ja erledigt.
Hallo,
Vielleicht kennt ihr es schon von anderen Foren, ich finde es jedenfalls nützlich. Es ist ja oft so, dass man mehrere Minuten an einem Beitrag schreibt, diesen dann absendet und merkt, dass das genau gleiche gerade in diesem Moment ein anderer geschrieben hat. Deshalb fände ich eine Meldung, wie z.B. "Es wurde gerade ein neuer Beitrag hinzugefügt" noch praktisch. Dann kann man diesen schnell lesen, um Doppelposts zu vermeiden. Falls es nicht zu viel Aufwand ist, wäre es bestimmt nützlich.
Gruss Aratar
An deiner Stelle würde ich als Basisklasse die Klasse Tabelle nehmen. Die Klassen Zelle und Spalte erben dann von dieser.
Und ja, für die Adressierung würde ich Indexer verwenden.
Gruss Aratar
Vielen Dank, das wars!
Gruss Aratar
Hallo,
Ich möchte, dass mein Programm im Vollbildmodus angezeigt wird. Dafür dachte ich muss man einfach:
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.TopMost = true;
this.WindowState = FormWindowState.Maximized;
Komischerweise wird so aber die Taskbar noch angezeigt.
Gruss Aratar
Ein Application.DoEvents() nach Thread.Sleep(x) sollte helfen.
Dafür erntest du von mir gleich mal einen virtuellen Schlag auf den Hinterkopf 😃
Woher hast du diese Infos, das mit DoEvents() zu machen?
Hallo,
Ehrlich gesagt finde ich solche Antworten (die man öfters hier im Forum lesen kann) wie z.B. "Application.DoEvents() ist schlecht..." nicht sehr hilfreich. So wird es z.B. im Galileo Open Book 2008 (ob es im 2010 auch noch so ist, weiss ich nicht) von Andreas Kühnel auch verwendet, weshalb man es als Anfänger durchaus als nützlich und gut ansehen kann, da es ja in so einem Buch als das vermittelt wird.
Hallo,
Wenn du nach "Anwendung als Administrator starten" suchst findest du einiges.
Aber für dein Vorhaben sollte dies das richtige sein.
Gruss Aratar
Hallo,
Das ist eigentlich ganz einfach. Du drehst das Bild, und positionierst es unter dem Original. Um den "verschwimmen"-Effekt hinzubekommen legst du einfach über das 2te Bild einen Farbverlauf, der von semi-transparent bis schwarz geht.
Hier ist ein Beispiel.
Gruss Aratar
Nein, solltest du tatsächlich nicht. Verwende dazu einen Timer.
Gruss Aratar
@Aratar:
Schon viel besser. Dein Code wirkt aufgeräumt, wenn auch noch prozedural anstatt objektorientiert. Aber für den Anfang sehr gut.2 Anmerkungen habe ich dennoch.
- Verwende besser Using() {...} anstatt das manuelle Dispose, um das Freigeben der Ressourcen zu garantieren.
- Wenn du eine Methode aufrufst und innerhalb der Parameter ein "new Pen..." machst, heißt das nicht, das dieser Pen nicht freigegeben werden muss. Du musst auch für diese Freigabe sorge tragen. Üblicherweise erzeugt man daher keine Objekte, die ein Dispose haben, innerhalb eines Methodenaufrufes.
Hallo,
Hab erst jetzt gesehen, dass es noch weitere Antworten auf diesen Thread gab.
Vielen Dank für die Anmerkungen, werde sie noch berücksichtigen.
Mich würde nur noch interessieren, was genau du mit "...auch noch prozedural anstatt objektorientiert." meinst. (Ich hoffe das sprengt nicht den Rahmen dieses Threads)
Gruss Aratar
So, hab mir eure Verbesserungsvorschläge zu Herzen genommen und sie geändert. Hab den Kalender ausserdem noch um die Navigationsmöglichkeit mit den Pfeil-Tasten erweitert.
Gruss Aratar
Naja, ich dachte aufgrund der Fehlermeldung, dass dies der betroffene Codeabschnitt ist, da ja stand "Einträge"-Eigenschaften. (Diese Eigenschaft befindet sich in diesem Codeabschnitt)
Gemerkt hab ich es erst gerade vorhin, als ich die Grösse des Kalender-Controls im Designer ändern wollte, da kam direkt die Fehlermeldung. Diese Fehlermeldung kommt aber auch sonst, wenn man zum Beispiel einen Button hinzufügt (zumindest wenn er sich auf dem Kalender-Control befindet).
Gruss Aratar
Wie ich gerade gemerkt habe, trifft der Fehler auf, sobald man etwas beim Kalender ändert, zum Beispiel die Grösse. Kalender Control
Gruss Aratar
Die ItemCollection-Klasse.
Gruss Aratar
Nichts passiert, es kommt immer noch die gleiche Fehlermeldung.
Hallo,
Ich hab ein Problem mit meinem Kalender Kontrol. Bisher hatte ich noch kein Problem, jetzt kommt aber immer, wenn ich ihn debuggen will folgende Fehlermeldung:
Fehler bei der Codegenerierung für die Einträge-Eigenschaft. Fehler: Der Typ "KalenderTestAnwendung.ItemCollection" in Assembly "KalenderControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" ist nicht als serialisierbar gekennzeichnet.
Der betroffene Codeabschnitt soll anscheinend folgender sein:
public class ItemCollection
{
public DateTime Datum { get; set; }
public string Text { get; set; }
public Color BackColor { get; set; }
public Color BorderColor { get; set; }
public bool Visible { get; set; }
public List<Rectangle> Regions { get { return regions; } set { if (value!=null) regions = value; } }
private List<ItemCollection> lst = new List<ItemCollection>();
private List<Rectangle> regions = new List<Rectangle>();
private List<ItemCollection> templst = new List<ItemCollection>();
public List<ItemCollection> Einträge { get { return lst; } set { lst = value; } }
Ich hab es mit [Serializeable] probiert, hat aber nicht geklappt. Weiss jemand, was genau das Problem ist?
Gruss Aratar
Du musst noch angeben, unter welchem Namen und in welches Verzeichnis du die Datei hochladen willst.
Gruss Aratar
Beschreibung:
Ein kleines Kalender-Control, welches die Anzeige von Einträgen/Terminen ermöglicht.
Schlagwörter: Kalender, Control, Termine
Hallo,
Brauche für mein momentanes Projekt ein kleines Kalender-Control, mit welchem ich Termine anzeigen kann. Wie einige von euch vielleicht merken, hab ich als Vorlage den Windows Live Mail Kalender genommen, da der mir besonders gefallen hat.
Vielleicht können es einige von euch für zukünftige Projekte brauchen. Falls euch extrem schlimme Coding-Style Errors oder Ähnliches auffällt wäre ich froh, wenn ihr mich darauf hinweisen könnt, damit ich es verbessern kann.
**Changelog:***Problem beim Ändern des Start-Datums behoben *Monatsname wird nun in der Mitte des Monats angezeigt
Gruss Aratar
Im Anhang noch ein Screenshot
Ja, der Tooltip flackert.
Eigentlich wollte ich den ToolTip immer wieder neu zeichnen, da er immer an der Mausposition sein sollte. Hab mich jetzt aber doch umentschieden, sodass er einfach immer am gleichen Ort ist.
Wenn doch noch jemand eine Möglichkeit kennt, das Ganze so zu realisieren, dass sich der ToolTip immer an der Mausposition befindet wäre ich dankbar, ansonsten gebe ich mich einfach mit der "unbewegten" Variante zufrieden.
Gruss Aratar
Hallo,
Ich habe folgendes Problem. Ich habe mehrere Rechtecke in meiner Anwendung. Nun sollte, wenn man mit der Maus auf einem Rechteck, ist ein ToolTip angezeigt werden. Es sollte sich ausserdem immer an der Mouse Position sein.
Wenn ich das ganze im MouseMove-Event realisiere flackert es, darum wollte ich fragen, ob es evt. eine andere Möglichkeit gibt?
PS.
Die Rechtecke habe ich alle in einer Liste und teste mit rectlist.Contains(MousePos) ob die Maus über einem Rechteck ist.
Gruss Aratar