Avatar billede Sarsten Nybegynder
06. august 2010 - 13:17 Der er 2 kommentarer og
1 løsning

Gantt chart

Hejsa eksperter

Jeg er ved at oprette et gantchart i wpf og har problemer med at styre de forskellige objekter problemet er at jeg dynamisk opretter objekter, og derefter tegner dem til mit chart når teksten i textfeltet er fjernet.

Men når jeg tilføjer flere objekter så er det den sidste denne event foregår ved, hvordan styrer jeg den så den ved hvilken det er jeg ændrer?

Her er koden der skal statisk oprettes 2 canvas for at compile.

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            AddOperation();
        }

        public int HeightOperation
        {
            get;
            set;
        }

        public int OperationCounter
        {
            get;
            set;
        }

        public TextBox NewOperation;
        public TextBox Start;
        public TextBox Stop;
        public ComboBox Next;
        public ArrayList List = new ArrayList();

        public void AddOperation()
        {
            NewOperation = new TextBox();
            NewOperation.Width = 100;
            NewOperation.Height = 20;

            Start = new TextBox();
            Start.Width = 60;
            Start.Height = 20;

            Stop = new TextBox();
            Stop.Width = 60;
            Stop.Height = 20;

            Next = new ComboBox();
            Next.Width = 100;
            Stop.Height = 20;

            NewOperation.Margin = new Thickness(20, (50 + HeightOperation), 0, 0);

            Start.Margin = new Thickness(130, (50 + HeightOperation), 0, 0);

            Stop.Margin = new Thickness(200, (50 + HeightOperation), 0, 0);

            Stop.MouseLeave += new MouseEventHandler(Stop_MouseLeave);
            Stop.TextChanged += new TextChangedEventHandler(Stop_TextChanged);

            for (int i = 0; i < List.Count; i++)
            {
                Next.Items.Add(i+1);
            }

            Next.Margin = new Thickness(270, (50 + HeightOperation), 0, 0);

            OperationCanvas.Children.Add(NewOperation);
            OperationCanvas.Children.Add(Start);
            OperationCanvas.Children.Add(Stop);
            OperationCanvas.Children.Add(Next);

            HeightOperation += 25;
            OperationCounter += 1;

            List.Add(OperationCounter);

            if (OperationCounter == 15)
            {
                button1.IsEnabled = false;
            }
        }

        void Stop_TextChanged(object sender, TextChangedEventArgs e)
        {
            Random ran = new Random();
            int Rand00m = ran.Next(0, 500);

            Rectangle rect = new Rectangle();
            rect.Height = 20;
            rect.Width = Rand00m;
            rect.ToolTip = "";

            //Rounded edges
            rect.RadiusX = 0.0;
            rect.RadiusY = 0.0;

            rect.Margin = new Thickness(20, (50 + HeightOperation), 0, 0);

            rect.Stroke = new SolidColorBrush(Colors.Black);
            rect.StrokeThickness = 1;
            rect.Fill = new SolidColorBrush(Colors.LightSteelBlue);
            rect.Visibility = Visibility.Visible;

            DrawCanvas.Children.Add(rect);
        }

        void Stop_MouseLeave(object sender, MouseEventArgs e)
        {
           
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            AddOperation();
        }
    }
Avatar billede Syska Mester
06. august 2010 - 14:09 #1
"Men når jeg tilføjer flere objekter så er det den sidste denne event foregår ved, hvordan styrer jeg den så den ved hvilken det er jeg ændrer?"

Hvad mener du med det her? Og hvad for en event? og hvad for et object?

Måske jeg bare er træt, men brug navne i stedet for "den og de" ... så undgår vi misforståelser :-)

mvh
Avatar billede Sarsten Nybegynder
02. september 2010 - 18:09 #2
Problem solved.
Avatar billede Syska Mester
02. september 2010 - 19:20 #3
Gerne en løsning, så andre kan få glæde af den ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester