Laden...

Forenbeiträge von seehashtag Ingesamt 35 Beiträge

23.01.2017 - 22:13 Uhr

Halli Hallo,

ich nutze für eine meiner ListViews den VirtualMode und habe festgestellt, dass mein Programm ab und zu mit einer InvalidOperationException in der Zeile

Application.Run(new MainForm());

in Program.cs stoppt. Bzw. nicht mal unbedingt stoppt. Als ich das Programm mal außerhalb von VS habe, kam nur eine Windows Fehlermeldung (die wage über den Fehler aufklärte). Danach hatte ich die Möglichkeit das Programm mit "Weiter" fortzusetzen. Dabei habe konnte ich sehen, dass die ListView mit Platzhaltern gefüllt wurde.
Da fällt mir ein, vielleicht hatte ich in VS auch die Möglichkeit das Programm fortzusetzen, habe diese aber nur übersehen. Und GENAU DAS ist es gerade. Ich kann den Fehler nicht reproduzieren um das zu überprüfen. Ich bekomme diesen Fehler nur sehr selten und ich hab keine Ahnung was ihn auslöst. Darum klicke ich immer wie wild alle Funktionen meines Programms durch, scroll und reloade die ListView in alle Richtungen und immer wieder und hoffe darauf, dass er kommt. Ich vergesse dann was genau ich gemacht habe, also welche Kombinationen an Interaktionen nötig war um diesen Fehler zu bekommen. Vorhin musste ich deshalb eine Bildschirmaufnahme machen. Dieses Video wurde 10 Minuten lang (damit ihr eine Vorstellung davon bekommt wie schwer es ist den Fehler auszulösen). Aber nicht mal dieses hilft mir, da dabei nichts außergewöhnliches passiert. Ich bin echt ratlos.
Wenn es 10 Minuten dauert den Fehler zu reproduzieren, wie kann ich da anständig debuggen?

Ich habe versucht, dass ganze mit Try-Catch-Konstruktionen in meinem Form Code abzufangen um die Variablen zu überprüfen. Aber ich lande immer in der Program.cs.

Hat jemand Tipps wie man mit dieser Fehlermeldung umgeht?

15.12.2016 - 18:09 Uhr

Danke! 😄 Ist ja ne echt tolle Sache, dass es sowas gibt.

15.12.2016 - 16:53 Uhr

Hallo,

meine ListView hält sehr viele Items, auch mal über 1000. Um das Benutzererlebnis flüssiger zu machen, möchte ich nur 100 Items reinparsen und wenn der User dann runtergescrollt hat, sollen die nächsten 100 geladen werden. Ist ja nichts besonderes, diese Herangehensweise.
Nun zu meiner Überraschung, gibt es laut meinen Google Recherchen keine Möglichkeit mit dem ListView Objekt von Windows Forms das Scrolling zu triggern.

Dazu wollt ich mir hier noch eine Meinung holen, weil ich schwer glauben kann, dass es für meinen simplen Anwendungszweck keine Lösung gibt mit dieser ListView.

Andere Möglichkeit (die einzige die einem online vorgeschlagen wird), ist die ListView zu erweitern. Da hab ich aber nur veraltete Codes aus den Jahren 08, 09 gefunden, die bei mir nicht funktionieren. Auch wieder einer der Gründe wieso ich frag, ob es nicht vielleicht doch geht, weil die meisten Suchergebnisse die ich gefunden habe wahrscheinlich auf einer anderen .NET Version laufen.

Und wenn es wirklich nicht geht, kann jemand den Code oder einen Link dazu posten, mit dem man die ListView Klasse nach meinen Wünschen erweitert?

Also dann. Ich freue mich auf eure Antworten 😃

13.12.2016 - 12:45 Uhr

Hab das grade mal gecheckt. Sind tatsächlich 100%. Der Unterschied diesmal, ist, Windows hat die Auflösung auf empfohlene 1440p statt 25xx (5k) gestellt. Sieht auch viel besser aus 😃 Bin so froh, die Neuinstallation gemacht zu haben. Ich hatte eh noch viele andere Probleme mit meinen Dateien und Unfug den Parallels angestellt hatte usw.

Kleine Frage am Rande:
Ich hab mir jetzt Vs 2017 RC1 geholt und bin nicht sicher ob es daran liegt, sollte es ja eigentlich nicht, aber ich kann nicht Debuggen. Ich hab keine Fehlerliste in der Konsole. Bzw. ich hab ja nicht mal eine Konsole. Nur die Tabs "Lokal" und "Überwachen 1". Als ich das Programm zum ersten Mal (im Debug Mode) in dem neuen VS startete war auch eine Fehlermeldung von wegen irgendwas mit Debuggen würde nicht gehen oder so. Ich weiß es nicht mehr, ich hab mir es nicht durchgelesen und bekomme die Fehlermeldung seit dem auch nicht mehr. Deshalb fällt es mir schwer jetzt das Problem zu finden. Auch googlen hat nichts gebracht. Zur Not installiere ich es neu oder lade mir wieder VS 2015. Aber wenn trotzdem jemand eine Ahnung hat, wäre ich demjenigen sehr dankbar 😃

13.12.2016 - 02:45 Uhr

Ich habs geschafft! Oh mein gott ich habs geschafft! Nach der Windows Neuinstallation habe ich (übrigens auf VS 2017!) das Projekt neugeöffnet. Selber Fehler. Aber diesmal war die Form schon im Designer fehlerhaft. Und ich konnte die Form erhöhen und die Controls, welche außerhalb der Form liegen, wieder in die Form ziehen.

Danke und Gute Nacht!

13.12.2016 - 00:26 Uhr

Die Git Reverts haben nichts gebracht... Wenn es nicht an veränderten Dateien aus der .gitignore (meine ist ziemlich standard) liegt, dann kann es ja nur noch daran liegen, dass sich was in meinem Windows verändert hat.

Ich glaub ich werde mein Windows mal neu aufsetzen. Das ist sowieso schon komplett im Arsch 😕

12.12.2016 - 21:12 Uhr

man man man .... >.< dann werd ich wohl eine weile in der git history zurückgehen müssen. was ich hasse, weil ich dazu tendiere projekte zu zerstören wenn es mal über git add und commit hinausgeht. Denn früher hatte ich dieses Problem nicht. Ich melde mich sobald ich mehr weiß 😦

11.12.2016 - 13:51 Uhr

Konntest du denn herausfinden woran es liegt @p!lle ?

10.12.2016 - 10:24 Uhr

Ich danke dir vielmals für deine Mühe, p!lle.

Ja, das macht Sinn. Aber schaut man sich das Programm im Editor an, müsste es dabei doch keine Probleme geben. Die Controls passen alle auf die Form.
Mir ist jetzt außerdem aufgefallen, ich kann Form verkleinern, aber ich kann sie vergrößern wie ich will, sie wird nie über die Höhe hinausgehen, in welcher sie jetzt in meinem Problemfall angezeigt wird. Irgendwas blockiert oder überschreibt hier, aber ich komm einfach nicht drauf was das sein könnte. Ich hab schon das ganze Projekt durchsucht 😦

08.12.2016 - 17:09 Uhr

Ich hab es nun mit der 100% Einstellung und der None Eigenschaft getestet. Die Abstände sind immer noch zu groß, aber das Cut Problem tritt nicht auf.
Ich hab das Programm jetzt auch mal auf einem Laptop getestet, bzw. ich hab es versucht. Die Form hat nicht vollständig drauf gepasst, dafür war die Auflösung wohl einfach zu schlecht. Der PC auf dem ich arbeite (bzw. virtuelle Maschine) hat eine Auflösung von 5k, aber mit dieser 200% Einstellung, also sollte sich das ausgleichen.

Hier mal die abgespeckte Version des Programms:
MeinProgrammAbgespeckt.zip

08.12.2016 - 14:45 Uhr

Ja das wollte ich eigentlich direkt dahinter schreiben, aber seitdem ich das versucht habe hat sich mein Windows komplett aufgehängt, was ich bis jetzt noch nicht gelöst bekommen habe 😄 Ich melde mich diesbezüglich später wieder....

08.12.2016 - 14:19 Uhr

Ja hab ich. Vielleicht ja aber falsch. Da es sehr viele Controls sind habe ich nicht alle eigenhändig im Preview Editor überprüft. Ich bin in den Form Designer (.cs) gegangen, hab nach der Eigenschaft gesucht und sie nur beim Form selber gefunden. Dort war sie auf Font eingestellt. Ich hab alle Optionen durchprobiert und es half nichts. Wenn ich die Eigenschaft auf None setze und das Programm starte, sind die Paddings und Abstände aller Controls extrem vergrößert. Die Form passt nicht mal mehr auf den Bildschirm. Abgehackt ist es immer noch.

08.12.2016 - 13:50 Uhr

Ich habe jetzt herausgefunden, dass wenn ich die "Größe von Text, Apps und anderen Elementen" auf Windows senke, das Problem nicht mehr auftaucht, je mehr ich mich den 100% nähere. Aber sonst hatte ich damit auch nie Probleme und es dürfte ja auch kein Problem sein, dass es bei mir auf 200% läuft.

Edit:
Auch nachdem ich den Code auf einen früheren Stand zurückgesetzt habe (eigenhändig allerdings), hat sich nichts geändert. Also kann es eigentlich nicht am Code liegen. Eine noch ältere Exe die ich bei mir rumliegen hab, funktioniert allerdings. Hm... Ich teste es mal auf einem anderen Windows und melde mich dann.

07.12.2016 - 21:07 Uhr

Hat die ListView eine fixe Größe?

Ja.

07.12.2016 - 11:46 Uhr

Es ist genau genommen ein Panel. Aber ja, der Button und die ListView daneben sind an den Bottom angedockt und es ist, als wären 200px des Bottoms einfach abgeschnitten.
Wie du siehst startet die Form auch automatisch mit ca. 200px weniger. Der obere Screenshot zeigt das Programm direkt nach dem Starten (habs also nicht resizet). Wie man sieht, ist es in der Höhe kleiner als im Editor zu sehen.

07.12.2016 - 11:12 Uhr

Hm, ich bin mir nicht sicher ob das mein Problem richtig beschreibt. Die Controls wurden nicht kleiner oder verschoben.

Am besten ist es ich zeig euch die Screens: (im Anhang)

06.12.2016 - 21:36 Uhr

Hey,

ich hab Windows virtuell mit Parallels auf meinem Mac laufen. Von dort aus programmiere ich mit Visual Studio 2015. Dann lagte es, Parallels ist abgeschmiert. Seitdem, wenn ich die Anwendung starte, ist die Form in der Höhe wie abgehackt. Die Höhe ist geschätzt 200px niedriger als im Editor zu sehen. Aber es ist nicht nur so, dass die Höhe magischerweise niedriger ist: Die Steuerelemente, die einen Anchor am Bottom haben, sieht man nie vollständig. Den untersten Teil der Form sieht man also nie.

Und das verrückte ist, ich hab doch eigentlich nichts verändert. Ich hab mein Git Status gecheckt, ich hab den Form Designer aus nem früheren Commit eingesetzt (der sich wsl nicht mal von dem jetzigen unterschied), die Projektmappe gecleart und neuerstellt, VS bzw. Windows neugestartet, Debug und Release Build getestet, eine frühere EXE Version getestet um zu testen ob Windows das Problem ist, aber nein.

Und es frustriert mich gerade extrem. Ich hätt echt heulen können und hätte am liebsten irgendwas kaputt gehauen >.< Die ganze Technik wendet sich heut Abend gegen mich aaarrgh... Sorry, ich bin grad einfach nur völlig am Ende mit den Nerven und gestresst.

02.12.2016 - 15:34 Uhr

Keine sehr schöne Lösung, aber funktioniert wunderbar! Danke.

02.12.2016 - 10:19 Uhr

Hallöchen,

Bei mir wird jede Sekunde eine ListView refresht. Die Items werden gecleart und neu reingeladen, :dabei soll das zuvor selektierte Item wieder selected sein. Es passiert also jede Sekunde ein Select(). Es ist aber super störend, wenn ich mich zB gerade in einer anderen ListView aufhalte, sie durchstöbere und ein Item highlighte. Diese ListView soll dann natürlich weiterhin im Fokus stehen.
Hab über Google dazu nichts gefunden 😃

10.11.2016 - 21:52 Uhr

Ja... tut mir Leid, dass der Thread hier so wirr ist und auch das mit den Crossposts, wollte mir die internationalen Experten zur Hilfe holen 😃 Hier der Link: ContextSwitchDeadLock after changing ListViewItem property from another Thread

Mein Problem kurz gesagt:
Ich möchte von einem anderen Thread aus auf meine UI zugreifen bzw. eine Methode in meiner MainForm aufrufen, welche die Items einer ListView manipuliert. Das funktioniert. Sobald ich aber bei einem Item in der ListView, das Property Selected auf true setze, schmiert mein Programm ab (ContextSwitchDeadLock).

Wenn ich mir den bisher geposteten Code anschaue (statische Klassen mit Instanzen der View usw.), scheinen die Probleme schon mit der Software-Architektur anzufangen.

Ich bin C# Anfänger, kann also gut sein! Aber ich war bisher eigentlich ziemlich zufrieden oder fast schon stolz, auf diese Lösung. Im Internet habe ich nur Lösungen dieser Art gefunden:

Application.OpenForms["Form1"];

Also wenn du was besseres weißt, lasse ich mich gerne belehren.

Danke auch für den Tipp mit dem Breakpoint.

10.11.2016 - 21:00 Uhr

Also ich weiß auch nicht 😦

Jetzt schaut euch das an! Anstatt im Nachhinein das Feld zu selecten, dachte ich mir, setze ich das Attribut direkt bei der Erstellung der Items.

In der foreach Loop, in der ich meine Items erstelle füge ich deshalb folgendes ein:

var item = new ListViewItem(search.Id.ToString());
item.SubItems.AddRange(row);
// EINGEÜFGT
if (selectedIndex == i++)
{
    item.Selected = true;
    item.Focused = true;
}
// --------------
listItems.Add(item);

(Ich hab mal gemeint, ich fügte die Items einzeln ein, das hab ich mittlerweile umgestellt)

Soweit so gut!

Debugger.Break();
lstSearches.Items.AddRange((ListViewItem[])listItems.ToArray(typeof(ListViewItem)));
Debugger.Break();

Aber an der Stelle, wo meine Items - und eins von ihnen selektiert - hinzugefügt werden soll, zumindest über den Invoke, da schafft es mein Programm nicht mehr zum unteren Break.

Das heißt für mich, die ListView akzeptiert das Item mit Selected = true nicht, das hat es mir mehrfach gezeigt! Die Items müssen irgendwie fehlerhaft sein.

Zum Beispiel könnte es sein, dass es nicht klappt, weil mehrere Items Selected sind und MultiSelect deaktiviert ist. Daran liegt es, wie mehrmals geprüft, nicht! Vielleicht muss das Selected Item ebenfalls Focused sein? Aber auch daran liegt es nicht. Aber ihr seht in welche Richtung meine Vermutungen gehen. Nämlich, dass bestimmte Bedingungen nicht geschaffen sind. Aber wenn dem so wäre, dann müsste doch irgendwo darauf aufmerksam werden, aber im Internet steht darüber nichts, ich bin irgendwie der einzige mit so einem Problem. Es ist ja auch nur beim Invoke Aufruf so. Leider weiß ich mir aber selbst nicht mehr zu helfen, denn zum einen sagt mir diese ContextSwitchDeadLock "Fehlermeldung" nicht viel. Ich hab auch schon eine StackOverflow Frage aufgemacht, doch da wird mir auch nicht geholfen.

Hilfe 😄

09.11.2016 - 12:45 Uhr

Ok, es liegt wohl doch an Multithreading! Tut mir Leid 😄

In dem von mir erstellten Thread, aktualisiere ich am Ende nochmal einmalig meine ListView, nachdem alles fertig ist.

Dies mache ich so:

Utilities.MainForm.Invoke(new Action(() =>
{
    Utilities.MainForm.UpdateSearches();
}));

Utilities.MainForm?
Ich hab eine Utilities Klasse und nutze sie u.a. um Zugriff auf die Instanz meiner MainForm zu bekommen durch ein statisches Property.

public MainForm()
{
    InitializeComponent();
    Utilities.MainForm = this;

Meine Invoke Konstruktion funktioniert auch, also es gibt kein Compiler Fehler und die Methode wird auch aufgerufen.

Das

lstSearches.Items[selectedIndex].Selected = true; 

wenn es über diesen Invoke aufgerufen wird, sorgt für den ContextSwitchDeadLock!!!

Kann sich das jemand erklären? Es wird ja schon davor in der Methode auf gewisse Controls zugegriffen, wieso soll es also hier scheitern?

09.11.2016 - 11:33 Uhr

Ich vermute einfach, dass du aus deinem Thread viel zu häufig in den GUI-Thread wechselst und Items hinzufügst / aktualisierst. Von wie vielen Items reden wir denn? Und trägst du jedes einzeln ein oder die komplette Collection nach Ermittlung.

Das passiert alles im Main Thread. Multithreading scheint mir nichts mit diesem Problem zu tun zu haben.
Ich füge sie einzeln hinzu, es sind nur max. 10 Items.

09.11.2016 - 00:01 Uhr

Ich hab mir die FAQ durchgelesen. Zwar hat sie mir in meinem Fall nicht geholfen, aber ich begann den Code weiter zu minimalisieren und zu debuggen und irgendwie stelle ich heute fest, dass es obwohl ich dachte sorgfältig gedebuggt zu haben, DOCH NICHT an dieser Zeile liegt. Tatsächlich hat es nicht mal was mit Threading zu tun. Es sind die Stellen im Code, wo ich versuche programmatisch ein Item in einer Listview zu selecten!

Diese scheinbar einfache Sache funktioniert bei mir irgendwie nicht 😦 Im Internet wird meistens etwas in dieser Art vorgeschlagen (Selected = true, Select()), aber ich hab niemanden gefunden, der ein Problem wie ich hat, dass sein Programm dabei crasht.

Hier ist mein Code:

if (selectedIndex >= 0 && lstSearches.Items.Count > selectedIndex)
{
     lstSearches.Items[selectedIndex].Selected = true; // diese Zeile crasht das Programm
     lstSearches.Select();
}

Ich hab noch mit dem Focus Attribut gespielt, aber das hat auch nicht geholfen.

Um kurz auf den Code einzugehen:
Ich hab eine UpdateSearches() Methode in meiner MainForm. Zu Beginn finde ich heraus welches Item gerade selektiert ist, dessen Index wird in selectedIndex definiert.
Danach werden die Items der ListView gecleart und die neuen geaddet.
Die IF Abfrage sollte eigentlich alles absichern und auch ein Debuggen bestätigt mir, das Item, welches ich selecten möchte, existiert in lstSearches.

Und ein ContextSwitchDeadLock gibt mir auch keine Auskunft darüber was hier schief gelaufen sein könnte. Und wieso bin scheinbar nur ich von diesem Problem betroffen.

Stehe ich vielleicht mal wieder auf dem Schlauch und der Fehler liegt doch woanders?

08.11.2016 - 16:52 Uhr

Das hilft mir leider nicht weiter 😦 wieso hängt sich meine GUI auf. Ich schieb die aufwendige Aufgabe doch extra in einen neuen Thread. Wenn ich die Exception abschalte hört der Lag halt nie auf (zumindest breche ich nach ein paar Minuten ab). Und wie gesagt passiert das auch, wenn die Funktion nur sofort returnt.

08.11.2016 - 00:19 Uhr

Hallo,

ich hab ein Problem, was ich glaube vorher noch nicht gehabt zu haben. An der Stelle wo mein Programm eine Aufgabe an einen neuen Thread übergeben soll, hängt sich alles auf und man kann nichts bedienen. Dann bricht VS ab mit der Meldung> Fehlermeldung:

"ContextSwitchDeadlock ist aufgetreten.".

Das ist die Zeile, die den Fehler hervorruft:

new Thread(() => MeineFunktion()).Start();

Zu Debugzwecken hab ich einen return gleich am Anfang von MeineFunktion() eingebaut.
Hab ich das falsch aufgerufen, muss ich das irgendwie stoppen?

Ich bin echt ratlos.

24.10.2016 - 19:44 Uhr

Danke für eure Antworten! Ich arbeite mich gerade in Quartz.NET ein und komme ganz gut damit klar 😃 Ich denke ich bleibe bei dieser Variante.

24.10.2016 - 14:29 Uhr

Hallo.

ich möchte verschiedene Tasks in unterschiedlichen Abständen ausführen lassen. Ich möchte diese aber auch von außen stoppen bzw. löschen können. Es macht also an sich Sinn eine Klasse dafür zu erstellen.

Ich hab dazu mal dieses Tutorial befolgt: http://www.infoworld.com/article/3063560/application-development/building-your-own-task-scheduler-in-c.html
Da wird einem der Code der Klasse ja direkt aufm Teller serviert. Die hab ich bei mir im Projekt nun auch eingerichtet, aber was soll man damit anfangen, das kann doch noch nicht fertig sein.
Man kann Tasks hinzufügen und die werden alle in einem neuen Thread durchgearbeitet. Aber wo kann ich den Intervall einstellen, laufen die Tasks überhaupt wiederholt? Ich weiß auch nicht, ich hab das Gefühl das ist nicht das, wonach ich suche.

Ich würds am liebsten selbst machen.

var timer = new System.Threading.Timer((e) =>
{
    Console.WriteLine("################ Job executed #############");
}, null, 0, 5000);

Das hier funktioniert schon mal gut und das würde ich gerne auf eine Klasse ausweiten. Dort könnt ich eine Collection an solchen Timern halten und beendet würde ich die wahrscheinlich, indem ich den timer = null setze oder? Dann denke ich mir aber wieder, wofür gibt es einen TaskScheduler in C#, wenn ich den nicht nutze 😦

Hoffe das war nicht zu wirr und mir kann jmd helfen 😃

17.10.2016 - 13:32 Uhr

Danke, der Verweis auf das andere Thread hats echt geklappt, ich habs hingekriegt, die Bilder werden ausgegeben 😃
Diese Drawing Einstellung (auch bei Texten) hat aber einiges im Styling durcheinander gebracht. Da muss noch das ein oder andere gemacht werden, damit das Programm nicht so aussieht wie aus den 90ern 😛 Aber der schwierige Part ist geschafft!

16.10.2016 - 22:36 Uhr

Dankesehr 😃 Bei mir wird das DrawSubItem Event nie ausgelöst und die Bilder dementsprechend nicht ausgegeben.

So wie ich den Stackoverflow Beitrag verstanden habe, lass ich das Bild zeichnen indem ich im DrawSubItem Event e.DrawDefault = true; mache.

Das habe ich auf folgende Weise gelöst:


lstOffers.DrawSubItem += new DrawListViewSubItemEventHandler(lstOffers_DrawSubItem);
private void lstOffers_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
    e.DrawDefault = true;
}

Da ich schon innerhalb des EventHandlers gedebuggt habe, weiß ich mit Sicherheit, dass die Methode nicht mal aufgerufen wird.
Vielleicht wurde das Item mit dem Image nicht richtig übergeben in dem Code aus meinem 1. Post.

:S

16.10.2016 - 13:51 Uhr

Hallo liebes Forum,

ich scheitere seit einer Weile an einer eigentlich simplen Aufgabe:
Ich hab eine ListView in der ich mir meine Datensätze ausgeben lasse. Jetzt ist ein Image Objekt dazugekommen, was ich in einer der Spalten meiner ListView gerne anzeigen lassen würde.
Und ich habs bis jetzt noch nicht mal geschafft, dass überhaupt irgendwie irgendwo ein Bild rauskommt.

var imageList = new ImageList();
foreach (Offer offer in search.GetOffers())
{
    if (offer.Image != null) imageList.Images.Add(offer.Image);
    string[] row = {
        offer.Active.ToString(), "hier sollte das image hin", offer.Name, Utilities.FormatNumber(offer.Price),
        offer.Year.ToString(), Utilities.FormatNumber(offer.Km), "", string.Join(", ", offer.Portals)
    };
    lstOffers.Items.Add(offer.Id.ToString()).SubItems.AddRange(row);
}

lstOffers.View = View.LargeIcon;
imageList.ImageSize = new Size(100, 75);
lstOffers.LargeImageList = imageList;
lstOffers.Items.Add(new ListViewItem() { ImageIndex = 0 });

So weit bin ich mittels Google gekommen. Offensichtlich ist das nicht die Lösung. Aber meinem Verständnis nach sollte nachdem alle normalen String Items hinzugefügt wurden, die letzte Row in der ersten Spalte ein Image darstellen.
Stattdessen zerstören die letzten 4 Zeilen die ListView. Die Spalten und Scrollbars ist weg. Man sieht nur die offer.Id.ToString() Werte kreuz und quer zerstreut. Alle anderen Werte geschweige denn das Image sind nicht zu sehen.

12.10.2016 - 11:52 Uhr

Danke für eure Antworten. ListView würde gehen, stimmt. Aber DataGridView sieht auch ganz gut aus, kannte das noch nicht. Ich versuchs mal damit!

11.10.2016 - 21:26 Uhr

Hi,

ich möchte in meiner GUI eine Art Terminkalendar darstellen. Dazu benötigt wird eine Tabelle, die ähnlich aufgebaut ist wie ein Kalendar. Ich möchte das bei Klick auf die einzelnen Zellen eine Methode getriggert wird.
Gibt es dafür was passendes in der Toolbox? Gefunden habe ich nur TableLayoutPanel, aber das ist offensichtlich nicht für meine Zwecke gedacht.
Mein Plan B ist gerade alle Felder mit Buttons zu erstellen. Das wird aber nicht so schön 😕

Wie würdet ihr das machen?

03.10.2016 - 13:20 Uhr

Danke für die nette Antwort 😃

02.10.2016 - 22:29 Uhr

Hallo,

ich lerne seit einer Weile C#/ .NET und bin nun das erste Mal in einem Projekt an eine (lokale) Datenbank angewiesen. Dabei hab ich mich für SQLite entschieden, einfach weil es mir schon vertraut ist und ich es aufgrund dessen, dass es eine einfache Datei ist, am einfachsten finde.

Bin auch offen für andere Vorschläge, aber wenn wir mal beim SQLite bleiben habe ich folgende Frage:

Wie verhält es sich beim Projekt Export? Wie nehme ich die Datenbank mit? Sollte ich eine Art "Startup" Script schreiben, welches auf den Computern der Nutzer in versteckten Ordnern oder in C:\Programme die .sqlite Datei erstellt und befüllt?