Autor Beitrag
okrim
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Mi 06.11.13 23:02 
Hallo,

wollte mal fragen ob mir hier jemand helfen kann, hab gerade erst mit dem Programmieren angefangen und habe für folgendes Problem trotz tagelangem Googeln keine Lösung gefunden.
Habe eine Access Datenbank wo ich mehrere Datum gespeichert habe und möchte, dass in einem monthcalendar diese Tage in Fett angezeigt werden.

Lese die Datenbank folgendermaßen aus:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
            OleDbConnection cn2 = new OleDbConnection(dbconnect);
            cn2.Open();
            string sql_abfrage2 = "SELECT datum FROM [gesammt_stunden_tag]";
            OleDbCommand cmd2 = new OleDbCommand(sql_abfrage2, cn2);
            OleDbDataReader dr2 = cmd2.ExecuteReader();
            while (dr2.Read())
            {
                // ????????????????????????
            }
            cn2.Close();


habe auch schon herausgefunden dass ich wie folgt einzelne Tage in Fett anzeigen kann

ausblenden C#-Quelltext
1:
2:
3:
4:
            monthCalendar1.BoldedDates = new System.DateTime[]
            {
                new System.DateTime(20131118), new System.DateTime(20131116)
            };


Nur komme ich nicht dahinter wie ich es hinbekomme wenn ich zum Beispiel 100 verschiedene Datum gespeichert habe und diese jetzt in Fett haben will, würde mich sehr freuen und wäre euch sehr Dankbar wenn ihr mir helfen könntet.

Gruß Mirko

Moderiert von user profile iconTh69: Beitragsformatierung überarbeitet.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Mi 06.11.13 23:32 
Zuerst einmal: BITTE gibt deinen Variablen sinnvolle und sprechende Namen!!! So ein kleiner Aufwand, der so viel aus macht und es machen so wenige.
Nicht böse gemeint, aber wenn du irgendwann später den Code mal liest, ist die Wahrscheinlichkeit groß, dass du ihn nicht mehr verstehst und dich erst wieder groß rein lesen musst.


Zur Frage:

Schau mal hier: msdn.microsoft.com/d...z%28v=vs.110%29.aspx

Allgemein kannst du dir mal merken, wenn du irgendwelche Fragen zum .NET-Framework hast (und das gehört dazu), dann such bei Google einfach mal "c# [name der Klasse]", oder irgendetwas ähnliches.
Du wirst ziemlich häufig msdn-Dokus finden und da steht eigentlich auch alles drin, was du so brauchst. Wenn nicht, dann gibts stackoverflow, wo du eigentlich alles findest (auch schwierigere Fragen). So bekommst du deine Frage beantwortet und liest dir gleich nebenbei eine ganze Menge zusätzliches Wissen an.
Außerdem gibt es dieses Buch: openbook.galileocomp.../visual_csharp_2012/
Da steht alles drin, was du brauchst und mehr. Die Beispiele sind nicht der Renner, aber mit etwas Gehirnschmalz sollte das auch kein Problem sein.


Hab den MSDN-Artikel selber nicht gelesen, nur kurz rein geschaut, aber auf den ersten Blick scheint alles drin zu stehen, was du brauchst.




PS:

Noch ein Tipp: Eine DBConnection implementiert das Interface IDisposable
Gerade bei Datenbank-Verbindungen ist es sinnvoll, diese wieder zu schließen und für alle Klasse, die IDisposable implementieren, gibt es einen Trick:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
using (var connection = new OleDbConnection(dbconnect))
{
    connection.Open();

    // Werte abfragen
}


Am Ende des using-Blocks wird dann garantiert die Dispose-Methode aufgerufen und die ruft intern auch die Close-Methode auf - zumindest kenne ich keine Klasse, wo das nicht so ist.
Selbst wenn irgendwo eine Exception geworfen wird, wird die Verbindung geschlossen, das würde in deinem Code aktuell nicht passieren und sie bliebe offen.



PPS:

Mir ist grad aufgefallen, dass du geschrieben hast, dass du gerade erst mit dem programmieren angefangen hast:
Gerade dann ist es sinnvoll, das von mir verlinkte Buch zu lesen und erst einmal kleine Brötchen zu backen.
Datenbankanwendungen sind nicht unbedingt das beste Einsteiger-Projekt.

Wenn du das Projekt trotzdem weiter führen willst, gerne, aber gib nicht auf, wenns nicht so klappt, wie es soll, sondern hebe es dir auf, bis du mehr Erfahrung hast.
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Do 07.11.13 23:26 
Hallo Palladin007,

danke für deine Antwort, du hast recht wenn du sagst ich soll klein anfangen, nur habe ich mir was in den Kopf gesetzt wo ich für die Arbeit hernehmen will, ich bin wirklich jeden Abend stundenlang am Googlen, wo ich auch vieles dazu lerne und alles bis jetzt auch irgendwie hinbekommen habe, auch wenn es Tage dauert.
Nur in dieser Situation bin ich einfach nicht weiter gekommen, was ich leider noch immer nicht tu, ich habe kein Problem mit Datenbank auslesen, schreiben, updaten oder so, wenn ich etwas in einer textBox oder dataGridView angezeigt haben will, nur hier habe ich ja viele Tage und die sollen alle in Fett im monthCalendar angezeigt werden und ich weiß einfach nicht wie.
Ich werde mir die Seite die du mir hier empfohlen hast nochmal genau anschauen, vielleicht steig ich da doch noch durch, wenn nicht muss ich halt noch ein paar Tage Googlen, irgendwann werde ich es bestimmt irgendwie hinbekommen auch wenn es dann vielleicht nicht die schönste Lösung ist, Hauptsache es funktioniert.

Nochmal Danke auch wenn es mir im Moment nicht wirklich geholfen hat.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Fr 08.11.13 02:26 
Daher die Empfehlung zu dem Buch, da steht das nochmal alles drin.

Im Internet suchen ist zwar immer gut, wenn sich eine Frage auf tut, aber es ist nicht ausreichend um eine Sprache zu lernen. Es funktioniert zwar, allerdings ist der Zeitaufwand wahrscheinlich deutlich größer, genauso die Fragezeichen, die sich zweifelsohne in dem einen oder anderen Text auf tun.
Und dazu kommt noch das Problem, dass viele Leute im Internet schlicht keine Ahnung haben und Blödsinn erzählen. Gerade die vielen Tutorials, die auf den ersten Blick alle toll aus sehen, eigentlich aber nicht sonderlich gut sind.

Wenn du also wirklich C# lernen willst, dann ist es sicherlich auch nicht falsch, Geld für gute Lektüre auszugeben.
Das verlinkte Buch ist da sogar noch kostenlos. Wie das genau ist, weiß ich nicht, ich kenne nur den Vorgänger, aber den fand ich persönlich gut erklärt, auch wenn die Beispiele nicht sonderlich gut sind. So oder so, es steht sehr viel drin und das "ergooglen" von Informationen fällt danach sehr viel leichter, weil du viele Dinge bereits kennst und nicht erst danach suchen musst.



Um die Frage nun doch noch konkreter zu beantworten:

ausblenden C#-Quelltext
1:
dr2.GetDateTime(0);					


Um das Konzept dahinter etwas zu erklären:

Der DataReader, den du erhältst, ist ein Objekt, das selber eine Datenzeile darstellt (Vom Typ DataRecord, daher kommen die Get-Methoden), selber aber in der Lage ist, sich auf die nächste Zeile zu "fokussieren".
Das machst du mit der Read-Methode. Sie schaut, ob eine neue Zeile da ist und wenn ja, dann setzt sie den DataReader auf diese Zeile, sodass du nun die Daten von dort auslesen kannst.

Stell dir das wie eine Tabelle vor. Die Tabelle hat die Spalten, die du in dem Select-Statement haben möchtest und eine Reihe von Elementen in Form von Zeilen.
Ein DataRecord ist immer eine Zeile in dieser Tabelle. Der DataReader steht ganz am Anfang der Tabelle. Rufst du Read() auf, sucht er die erste Zeile und markiert diese. Von diesem Punkt an ist der DataReader auch ein DataRecord, über den du deine Daten auslesen kannst. Rufst du erneut Read() auf, sucht er die nächste Zeile, markiert sie und von da an stellt er diese Zeile dar.
Willst du Daten lesen, ohne Read aufzurufen, dann erhältst du eine Exception, weil noch keine Zeile markiert wurde.

Bedenke aber: Du kannst durch die Zeilen nur einmal durch laufen. Es ist also ratsam, die ausgelesenen Daten irgendwie anders zu speichern. In deinem Fall ist ein Array sinnvoll, vom Typ DateTime, das die DateTime-Objekte enthält.
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Fr 08.11.13 20:00 
Hallo Palladin007,

ich habe mir schon das Buch Einstig in Visual C# 2012 von Galileo Computing gekauft, nur da ich vorher schon mit meinem Programm angefangen habe, hab ich nicht die Geduld das Buch von Anfang an durch zu gehen.
Ich bin ja auch schon ganz gut voran gekommen, nur hin und wieder hackt es halt leider, so wie mit dieser Sache gerade, leider komme ich mit deiner Hilfe noch immer nicht richtig weiter, auch die Sache mit den Array sind mir noch nicht wirklich klar.
Aber ich werde es schon noch irgendwie hin bekommen, trotzdem nochmal Danke für dein bemühen.

Gruß Mirko
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Fr 08.11.13 23:18 
Na kaufen hättest es nicht müssen, aber ich geb zu, ein Buch in der Hand zu halten ist schon angenehmer, als im Browser lesen.



Und ja, das Gefühl kenne ich, ging mir genauso, als ich angefangen habe.

Ich merke aber immer wieder, dass ich mir gedanklich an den Kopf fasse und denke, was ich denn da für einen Müll geschrieben habe, wenn ich was Neues lese. Im Nachhinein alles entsprechend anpassen geht zwar, ist aber umständlich und nervig.

Deshalb hab ich mir z.B. auch letztens ein Buch über Pattern gekauft (Entwurfsmuster von Software), damit ich zumindest einige Muster kenne und nicht über den Berg klettern muss, wo es doch schon längst einen Tunnel gibt - bildlich gesprochen.

Hat mir sehr geholfen, weil jetzt wende ich das auch passend an und habe im Nachhinein auch weniger Probleme.



Was du nun machst kannst im Endeffekt nur du entscheiden, aber das ist meine Erfahrung und ich persönlich finde es besser, mit einem zu großen Projekt erst zu warten und es später wieder auf zu greifen.
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Sa 09.11.13 09:10 
So was ich inzwischen hinbekommen habe ist das ich meine Datumswerte aus meiner Datenbank bekomme und sie in einer listBox anzeige, das mit der listBox ist nur zum Test

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
OleDbConnection cn5 = new OleDbConnection(dbconnect);
            cn5.Open();
            string sql_abfrage5 = "SELECT datum FROM [gesammt_stunden_tag] GROUP BY datum";
            OleDbCommand cmd5 = new OleDbCommand(sql_abfrage5, cn5);
            OleDbDataReader dr5 = cmd5.ExecuteReader();
            while (dr5.Read())
            {
                datum_fett = (dr5["datum"].ToString());
                string[] split1 = datum_fett.Split();
                foreach (string ausgabe_fett in split1)
                {
                    listBox1.Items.Add(ausgabe_fett);
                }
            }
            cn5.Close();


Jetzt bekomme ich natürlich meinen Datumswert in tt.mm.jjjj wenn ich aber das Format von BoldedDates anschaue dann ist das ja genau verkehrt rum jjjj,mm,tt

Könntest du mir da vielleicht doch nochmal bisschen Helfen oder einen Tipp geben?
Das wäre echt nett!

Grüße aus dem regnerischen Allgäu
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 09.11.13 10:49 
Hallo und :welcome:

du mußt unterscheiden lernen zwischen der internen Darstellung und der String-Ausgabe von Datentypen (diese ist meistens sogar noch abhängig von den Ländereinstellungen).
Beim Erzeugen eines DateTime-Objekts im Source-Code wird der entsprechende Konstruktor aufgerufen - und dieser ist beim DateTime länderunabhängig so definiert, daß eben immer (Jahr, Monat, Tag) angegeben werden muß. Bei der Ausgabe (mittels der ToString()-Methode, z.B. bei der ListBox oder in der Konsole) wird dagegen die aktuelle Ländereinstellung (bzw. Kultureinstellung - engl. CultureInfo) herangezogen und daher im deutschen "tt.mm.yyyy" ausgegeben (genauer gesagt sogar so, wie es in den Windows-Einstellungen angegeben ist! Du kannst ja mal testweise bei dir auf ein anderes Format wechseln und dann dein Programm wieder aufrufen.).

Um die Datumswerte jetzt der Eigenschaft BoldedDates hinzuzufügen benötigt man ja ein Array. Problem ist jetzt nur, daß man Arrays immer mit einer festen Größe initialisieren muß. Abhilfe schafft hier ein dynamisches Array: List<T> (sollte auch in deinem Buch erklärt werden):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
List<DateTime> list = new List<DateTime>();

// in Schleife
DateTime dateTime = ...; // wichtig: hier NICHT als String auslesen!
list.Add(dateTime);

// nach der Schleife
monthCalendar.BoldedDates = list.ToArray();

Bei dem DataReader also entweder
ausblenden C#-Quelltext
1:
(DateTime)dataReader["datum"]					

oder aber
ausblenden C#-Quelltext
1:
dataReader.GetDataTime(dataReader.GetOrdinal("datum"))					

verwenden.

P.S: Dein bisheriger Code mit der Split-Methode ist überflüssig, da in der Variablen datum_fett ja schon ein String drinsteht. Es hätte einfach folgendes gereicht:
ausblenden C#-Quelltext
1:
2:
datum_fett = dr5["datum"].ToString();
listBox1.Items.Add(datum_fett);
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Sa 09.11.13 11:18 
Hallo Th69,

danke für deine Antwort!

Weis nicht ob ich mich nur blöd anstelle, aber wenn ich es jetzt so schreibe

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
            OleDbConnection cn5 = new OleDbConnection(dbconnect);
            cn5.Open();
            string sql_abfrage5 = "SELECT datum FROM [gesammt_stunden_tag] GROUP BY datum";
            OleDbCommand cmd5 = new OleDbCommand(sql_abfrage5, cn5);
            OleDbDataReader dr5 = cmd5.ExecuteReader();
            while (dr5.Read())
            {
                List<DateTime> list = new List<DateTime>();

                // in Schleife
                DateTime dateTime = (DateTime)dataReader["datum"]; // wichtig: hier NICHT als String auslesen!
                list.Add(dateTime);

                // nach der Schleife
                monthCalendar1.BoldedDates = list.ToArray();        
            }
            cn5.Close();


dann kommt bei dataReader immer der Name ist im aktuellen Kontext nicht vorhanden

oder muss ich es so schreiben

ausblenden C#-Quelltext
1:
DateTime dateTime = (DateTime)dr5["datum"];					


aber da kommt dann "Die angegebene Umwandlung ist ungültig"
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 09.11.13 12:22 
Hallo,

dataReader habe ich nur als allgemeinen Variablennamen benutzt, bei dir ist also dr5 richtig (aber du solltest demnächst deine Variablen besser benennen!).

Wenn die Fehlermeldung zur Laufzeit erscheint, dann ist anscheinend kein Datumtyp in der Access-Datenbank bei der Spalte "datum" hinterlegt, sondern wahrscheinlich doch nur ein String.
Dann müßtest du per DateTime.TryParse(...) versuchen, den Datumsstring in ein DateTime umzuwandeln: DateTime.TryParse-Methode.

Kennst du dich denn schon mit dem Debugger aus? Unter [Artikel] Debugger: Wie verwende ich den von Visual Studio gibt es einen Einstieg, denn ohne Debugger wirst du Fehler (gerade als Anfänger) kaum gut genug analysieren können, um sie zu beseitigen.

P.S. Und du solltest meine Kommentare im Code beachten (bgzl. Schleife)!
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Sa 09.11.13 15:31 
Hallo Th69,

und wieder ein riesen großes Dankeschön, das mit dem umwandeln hab ich hin bekommen, nur das mit der schleife weiß ich noch nicht so recht wie ich das machen soll, vieleicht konntest du mir nochmal einen Tipp geben, das wäre echt nett!!!

So sieht es jetzt Aktuell aus:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
            OleDbConnection cn5 = new OleDbConnection(dbconnect);
            cn5.Open();
            string sql_abfrage5 = "SELECT datum FROM [gesammt_stunden_tag]";
            OleDbCommand cmd5 = new OleDbCommand(sql_abfrage5, cn5);
            OleDbDataReader dr5 = cmd5.ExecuteReader();
            while (dr5.Read())
            {
                List<DateTime> list = new List<DateTime>();
                datum_fett = dr5["datum"].ToString();

                DateTime dateTime = DateTime.ParseExact(datum_fett, "dd.MM.yyyy", CultureInfo.InvariantCulture);
                list.Add(dateTime);

                monthCalendar1.BoldedDates = list.ToArray();
            }
            cn5.Close();


Jetzt wird halt nur ein Tag Fett markiert, was mir auch verständlich ist, muss ich da eine Schleife mit foreach machen?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 09.11.13 16:07 
Mit Schleife meine ich deine Leseschleife mittels while(...) { ... }.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Sa 09.11.13 16:08 
Du erzeigt in der Schleife die Liste fügst ein Element hinzu und weist dann die Liste dem DateTimePicker zu. Im nächsten Schleifendurchlauf das selbe du erzeugst eine neu Liste fügst ein Element hinzu und weist es dem DateTimePicker zu und überschreibst damit die alte Liste.

Du musst die Liste vor der Schleife erzeugen, in der Schleife dann die Elemente hinzufügen so das alle Elemente in der gleichen Liste landen und dann nach der Schleife diese Liste(dann mit allen Elementen) dem DateTimePicker zuweisen.


Zuletzt bearbeitet von Ralf Jansen am Di 12.11.13 20:51, insgesamt 1-mal bearbeitet
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Sa 09.11.13 17:53 
Ich DANKE euch allen :) habe es hinbekommen, ich freu mich so :dance2:

So sieht es jetzt aus:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
            List<DateTime> list = new List<DateTime>();
            OleDbConnection cn5 = new OleDbConnection(dbconnect);
            cn5.Open();
            string sql_abfrage5 = "SELECT datum FROM [gesammt_stunden_tag]";
            OleDbCommand cmd5 = new OleDbCommand(sql_abfrage5, cn5);
            OleDbDataReader dr5 = cmd5.ExecuteReader();
            while (dr5.Read())
            {
                datum_fett = dr5["datum"].ToString();
                DateTime dateTime = DateTime.ParseExact(datum_fett, "dd.MM.yyyy", CultureInfo.InvariantCulture);
                list.Add(dateTime);
            }
            monthCalendar1.BoldedDates = list.ToArray();
            cn5.Close();


Jetzt kann ich weiter machen, solang bis ich mich wieder bei euch melde :)

Schöne grüße an euch alle!!!!!!!!
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Sa 09.11.13 17:56 
Wobei ich noch eine Frage hätte, kann man bei dem monthCalendar anstatt Fett auch eine andere Farbe nehmen, so dass es besser auffällt?
Hab zwar schon öfter gelesen dass es nicht geht oder nicht so einfach geht, aber vielleicht gibt es ja doch eine Möglichkeit?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 09.11.13 19:38 
Hallo okrim,

der Standard MonthCalendar unterstützt das nicht. Aber wenn es dir wichtig ist, könntest du eines der folgenden 2 Controls ausprobieren:
Customizable MonthCalendar Type Control
Another Month Calendar
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: So 10.11.13 12:19 
Danke das werde ich mal ausprobieren.
okrim Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 82

Win 7
C# (VS 2010 Express)
BeitragVerfasst: Mo 11.11.13 19:30 
Hallo Th69,

habe mir die zwei Kalender angesehen, beim ersten kann man so wie ich das sehe keine Wochennummern einfügen und bei dem Kalender
www.codeproject.com/...other-Month-Calendar
blick ich es nicht wie ich ihn in mein Programm rein bekomme, sonnst würde er mir gut gefallen.

Weist du vielleichob man beim Standard Kalender eine möglichkeit hat wochennummern auszuwählen?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 13.11.13 10:48 
Hallo,

beim Standard-Kalender ist mir keine Möglichkeit dafür bekannt (dieser ist eh nicht sehr "customizable").

Und bei dem CodeProject-MonthCalendar steht doch unter "Using the control" wie man dieses in die ToolBox integriert (so wie jedes andere Control auch).