Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Wie verwende ich eine DropDown-List ( C-Sharp )
erste ungelesene Seite | letzter Beitrag 
Armaggedon91

Arctic
C-Sharp
Hallo, ich habe ein Programm erstellt in dem ich Zufalls-Zahlen addiere und dann, je nach Ergebnis, ein Ereignis bekomme. Das ganze hab ich mit der switch case-Methode gemacht.

Bsp.:
int x = r.Next(1,21);

switch (x)
{
case 3: textBox1.Text="xx"

Das hab ich mehrmalls mit verschiedenen Buttons kombiniert, so das ich mit den Zufallszahlen x,y,z zusammenaddiert zu "w" rechne. Jetzt will ich jedoch eine Drop-Down Liste haben die je nach Auswahl neue Case Angaben hat, hab aber keine Ahnung wie ich da ran gehen soll.

Danke für Hilfe im Vorraus.
11.06.2010 14:32:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
wuSel

AUP wuSel 24.02.2008
Was willst du jetzt wissen? Wie du die Dropdown-Liste machst?
Und die Auswahl der Dropdown-Liste soll dann Einfluss auf deinen Zufallswert haben?

Wenn ja, hab ich dir hier mal ein Programm zusammegeworfen, was dir eine Dropdown Box anzeigt und ein Label. Bei ändern des Focuses in der Dropdown, wird der Inhalt in einem Label anzeigt. Damit solltest du die Logik haben, die du benötigst.


Program.cs

 
Code:
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace TestApp
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new TestApp());
        }
    }
}



Form1.Designer.cs

 
Code:
namespace TestApp
{
    partial class TestApp
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.ComboBox = new System.Windows.Forms.ComboBox();
            this.Label = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // ComboBox
            // 
            this.ComboBox.FormattingEnabled = true;
            this.ComboBox.Items.AddRange(new object[] {
            "Eins",
            "Zwei",
            "Drei"});
            this.ComboBox.Location = new System.Drawing.Point(77, 49);
            this.ComboBox.Name = "ComboBox";
            this.ComboBox.Size = new System.Drawing.Size(126, 21);
            this.ComboBox.TabIndex = 0;
            this.ComboBox.Text = "Klick mich an!";
            this.ComboBox.SelectedIndexChanged += new System.EventHandler(this.ComboBox_SelectedIndexChanged);
            // 
            // Label
            // 
            this.Label.AutoSize = true;
            this.Label.Location = new System.Drawing.Point(74, 94);
            this.Label.Name = "Label";
            this.Label.Size = new System.Drawing.Size(167, 13);
            this.Label.TabIndex = 1;
            this.Label.Text = "Hier könnte ihre Werbung stehen.";
            // 
            // TestApp
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 178);
            this.Controls.Add(this.Label);
            this.Controls.Add(this.ComboBox);
            this.Name = "TestApp";
            this.Text = "TestApp";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.ComboBox ComboBox;
        private System.Windows.Forms.Label Label;
    }
}





Form1.cs

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

namespace TestApp
{
    public partial class TestApp : Form
    {
        public TestApp()
        {
            InitializeComponent();
        }

        private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            Label.Text = ComboBox.Text;
        }
    }
}
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von wuSel am 11.06.2010 15:16]
11.06.2010 15:14:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Armaggedon91

Arctic
Entschuldige, wenn ich es jetzt einfach nicht verstehe und du die Lösung mir wahrscheinlich schon gegeben hast:
Also wie die Drop Down Liste entsteht ist mir klar nur will ich wissen wie ich das auf die switch case Methode anwende.
Program.cs und MainForm.Designer.cs sind ähnlich.
Worauf es mir ankommt ist die (ich fasse es kurz zusammen):
MainForm.cs
 
Code:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace xxx
{
public partial class MainForm : Form
{
public MainForm()...
void Button1Click(object sender, EventArgs e)...
void Button2Click(object sender, EventArgs e)...
void Button3Click(object sender, EventArgs e)...
void Button4Click(object sender, EventArgs e)...
void Button5Click(object sender, EventArgs e)...
}
}

Die Buttons bestehen aus den int_Werten x,y,z die zum Wert "w" zusammenaddiert werden. Diese werden dann mit switch (w) und case 3: break; zu verschiedenen Ausgaben in TextBoxen weutergegeben.
Jetzt will ich aber die TextBoxen bei einer anderen Auswahl von der DropDown Liste mit anderen Ausgaben versehen. Ich weiß jetzt aber nicht wie ich das im QuellCode eingebe, das bei Auswahl 1 dies und jenes angegeben wird, spich die Buttons andere Ausgaben erstellen.
11.06.2010 15:50:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Armaggedon91

Arctic
push
13.06.2010 14:57:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
wuSel

AUP wuSel 24.02.2008
Kannst du mal genauer beschreiben, was das Programm tun soll? Da blick ich echt irgendwie nicht durch... Breites Grinsen
22.06.2010 11:11:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GarlandGreene

Mod GIGN
switch-case setzt zwingend statische case-Angaben voraus. Dynamisch geht das nicht.
22.06.2010 11:33:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Armaggedon91

Arctic
Also das Programm besteht aus mehreren Case Angaben. Jede Case Zahl hat einen Text der ausgegeben wird. Das heißt ich habe 3 Zufallszahlen(x,y,z) die von 1-20 gehen. Diese Zahlen werden zusammenaddiert(w). W liegt logischerweise zwischen 3und60.

Die Case Methoden haben dann im Fall 3 als Text auszugeben "Blablabla" so geht es bis 60 hoch. Logischerweise 57 Texte. Ich will jetzt eine Drop-Down Liste verwenden um ein anderes Gebiet(später mehr) zu verwenden. Dann sollen die Case Methoden verändert werden. Es spielt keine Rolle ob ich einfach in den Quelltext neue Case-Methoden reinschreibe, sondern will ich nur das da im Programm steht: Wenn ich in Drop-Down liste dies wähle arbeite mit jener Switch-case Liste.

Das ganze ist ein Zufallsgenerator für DSA, der Begegnungen, Waffen, Rüstungen zufällig angeben soll. In die Drop-down Liste baue ich die Gebiete ein. Wenn ich ein anderes Gebiet benutze soll in den Text-Boxen auch andere Ergebnisse erscheinen, weil eine Begegnung mit einem Yeti in der Wüste nicht sehr wahrscheinlich ist. Augenzwinkern

Ich hoffe man versteht jetzt was ich will, danke für jede Hilfe.
25.06.2010 16:54:16  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Atomsk

Atomsk
Pfeil
warum dafür so nen riesen switch-block?
nimm doch einfach ein zweidimensionales array und greife über den index direkt auf die werte zu. die erste dimension nimmste für die gebiete und die zweite für die texte.
25.06.2010 19:01:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Wie verwende ich eine DropDown-List ( C-Sharp )


mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
| tech | impressum