Laden...

Forenbeiträge von trip2137 Ingesamt 7 Beiträge

23.05.2012 - 17:09 Uhr

Naja, ein einfaches

chart1.DataBind();

scheint zu reichen, um die Chart zu aktualsieren.

23.05.2012 - 16:10 Uhr

Ich habe in einer Form ein chart-Element. Datenquelle ist eine lokale DB (*.sdf) und im Chart wird als Series eine Spalte als X und eine Spalte als Y Wertquelle verwendet. Funktioniert auch soweit nach Starten des Programms einwandfrei. Die Werte werden aus der DB gelesen und im Chart dargestellt.

Ich würde jetzt gerne - beispielsweise über einen "Aktualisieren"-Button diese Werte neu einlesen. Dinge wie

chart1.Update();

bzw.

chart1.Refresh();

habe ich erfolglos probiert.

Wie bringe ich die Chart dazu, zur Laufzeit die Werte neu einzulesen?

26.02.2012 - 22:17 Uhr

Okay, dass ich den Timer im Designer nicht einfügen muss, war mir nicht klar. Der Timer ist leider recht schlecht dokumentiert - habe hier einige Bücher, in denen ich nicht fündig wurde im Hinblick auf meine Anwendung.
Danke.

26.02.2012 - 20:15 Uhr

Weil es kompliziert ist?!

Mein Vorschlag wäre dabei in den button1_Click eine if-Schleife zu setzen à la:

Dann sieht das Ganze wie folgt aus:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace test_timer
{
    public partial class Form1 : Form
    {
        int tick=0;
        bool first = false;

        public Form1()
        {
            InitializeComponent();
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (first == false)
            {
                Timer timer1 = new Timer();
            }
            else
            {
                timer1.Start();
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            tick = tick+1;
            label1.Text = Convert.ToString(tick);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Stop();
        }
    }
}

Und der verrückte Timer startet immer noch, ohne dass button1 geklickt wurde. Völlig unplausibles Verhalten für mein Verständnis.

26.02.2012 - 19:47 Uhr

Ich möchte gerne einen Timer erzeugen, der zunächst gestoppt ist. Der Code anbei macht genau das, was ich möchte. Sprich mit button2 kann man den Timer stoppen, mit button1 kann man ihn wieder starten. Allerdings wird das "timer1.Stop()" innerhalb von public Form1() { ... } ignoriert, so dass der Timer nach Programmstart bereits läuft - warum wird die kommentierte Zeile ignoriert?!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace test_timer
{
    public partial class Form1 : Form
    {
        int tick=0;

        public Form1()
        {
            InitializeComponent();
            Timer timer1 = new Timer();
            timer1.Stop();   // <====== warum wird diese Zeile ignoriert?!
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            tick = tick+1;
            label1.Text = Convert.ToString(tick);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Stop();
        }
    }
}

19.08.2010 - 19:45 Uhr

Ich würde für ein ernsthaftes Projekt auch zu keinem Freehoster greifen.

Hier gibts das erste Jahr gratis - beide Anbieter sind auch empfehlenswert:

Ansonsten gibts hier einige empfehlenswerte Anbieter:
http://spacelist.de

10.02.2010 - 21:38 Uhr

Wann ist denn die Express Version zu erwarten?